{ "cells": [ { "cell_type": "markdown", "id": "bd6df0df", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "# Getting Started with QuantumState" ] }, { "cell_type": "markdown", "id": "da69e454", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "In Quantum mechanics:\n", "```{note}\n", "Every isolated physical system has associated with it a complex inner product space or Hilbert Space. This is known as its state space. A complete description of the system is given by its state vector, |ψ>, a unit-normalised vector in the state space.\n", "```\n", "\n", "In quantum computing, we have finite dimentional quantum states that act in a Hilbert Space of dimension $2^{n}\\times 2^{n}$ for $n$ qubits. In the computational (Pauli $Z$ basis) we write such states as:\n", "\n", "$$ |\\psi \\rangle = \\sum_{i=0}^{2^{n}-1} = c_{i}|i \\rangle$$\n", " \n", "where:\n", "- The $c_{i}$ terms represent complex coefficients.\n", "- The state must be normalized, i.e. $ \\sum_{i=0}^{2^{n}-1} |c_{i}|^{2} = 1$\n", "- $|i \\rangle$ represent binary bitstrings aka: $i \\in \\{0,1\\}^{\\otimes n}$" ] }, { "cell_type": "markdown", "id": "e0ddcac7", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "The `QuantumState` class is used to describe such states and provide access to useful ways to manipulate such states. \n", "\n", "```{note}\n", "The normalization conidition is relaxed for greater utility.\n", "```" ] }, { "cell_type": "markdown", "id": "6dd3807e", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "## Initialization" ] }, { "cell_type": "code", "execution_count": 1, "id": "648bcef9", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/lex/anaconda3/envs/symmer_github/lib/python3.9/site-packages/cotengra/hyperoptimizers/hyper.py:34: UserWarning: Couldn't import `kahypar` - skipping from default hyper optimizer and using basic `labels` method instead.\n", " warnings.warn(\n" ] } ], "source": [ "from symmer import QuantumState" ] }, { "cell_type": "markdown", "id": "7f304d56", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "The following ways can be used to initalize a quantum state:\n", "1. `QuantumState.from_array`\n", "2. `QuantumState.from_dictionary`\n", "3. `QuantumState.random`\n", "4. `QuantumState.haar_random`\n", "5. `QuantumState.zero`" ] }, { "cell_type": "markdown", "id": "4e18d09d", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "The `from_array` method take in a vector of size $2^{n}\\times 1$ to define a ket and $1 \\times 2^{n}$ to define a bra" ] }, { "cell_type": "code", "execution_count": 2, "id": "1bf50de1", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ " 0.183+0.000j |00> +\n", " 0.365+0.000j |01> +\n", " 0.548+0.000j |10> +\n", " 0.730+0.000j |11>" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "\n", "normalized_vec_ket = np.array([[0.18257419],\n", " [0.36514837],\n", " [0.54772256],\n", " [0.73029674]])\n", "\n", "psi_ket = QuantumState.from_array(normalized_vec_ket)\n", "psi_ket" ] }, { "cell_type": "code", "execution_count": 3, "id": "cc42538f", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ " 0.183+0.000j <00| +\n", " 0.365+0.000j <01| +\n", " 0.548+0.000j <10| +\n", " 0.730+0.000j <11|" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "normalized_vec_bra = np.array([[0.18257419, 0.36514837, 0.54772256, 0.73029674]])\n", "\n", "psi_bra = QuantumState.from_array(normalized_vec_bra)\n", "psi_bra" ] }, { "cell_type": "markdown", "id": "516777e0", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "Note we can also build a state that is **NOT normalized**:" ] }, { "cell_type": "code", "execution_count": 4, "id": "0a6b5359", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/lex/anaconda3/envs/symmer_github/lib/python3.9/site-packages/symmer/operators/base.py:2184: UserWarning: statevector is not normalized\n", " warnings.warn(f'statevector is not normalized')\n" ] }, { "data": { "text/plain": [ " 1.000+0.000j |00> +\n", " 2.000+0.000j |01> +\n", " 3.000+0.000j |10> +\n", " 4.000+0.000j |11>" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "\n", "ket_unormalized = np.array([[1],\n", " [2],\n", " [3],\n", " [4]])\n", "\n", "psi_ket = QuantumState.from_array(ket_unormalized)\n", "psi_ket" ] }, { "cell_type": "markdown", "id": "d321e318", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "This will throw up an error. We can also check the state is normalized via the `_is_normalized` method:" ] }, { "cell_type": "code", "execution_count": 5, "id": "6d0a7d03", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "psi_ket._is_normalized()" ] }, { "cell_type": "markdown", "id": "98f12b2f", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "We can re-normalize a state by running `normalize` that returns a new `QuantumState` that has been normalized" ] }, { "cell_type": "code", "execution_count": 6, "id": "a276576d", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "now normalized: True\n" ] }, { "data": { "text/plain": [ " 0.183+0.000j |00> +\n", " 0.365+0.000j |01> +\n", " 0.548+0.000j |10> +\n", " 0.730+0.000j |11>" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "psi_renormalized = psi_ket.normalize\n", "\n", "print('now normalized:', psi_renormalized._is_normalized())\n", "psi_renormalized" ] }, { "cell_type": "markdown", "id": "731fa0bb", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "which does the following:\n", "\n", "$$|\\psi_{norm} \\rangle = \\frac{|\\psi \\rangle}{\\Big(\\sum_{i=0}^{2^{n}-1} |c_{i}|^{2}\\Big)^{1/2}} = \\frac{\\sum_{i=0}^{2^{n}-1} c_{i}|i \\rangle}{\\Big(\\sum_{i=0}^{2^{n}-1} |c_{i}|^{2}\\Big)^{1/2}} $$" ] }, { "cell_type": "markdown", "id": "75cce3b7", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "The `from_dictionary` method take in a dictioinary of binary keys and coefficient values:" ] }, { "cell_type": "code", "execution_count": 7, "id": "d359fdbf", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ " 0.183+0.000j |00> +\n", " 0.365+0.000j |01> +\n", " 0.548+0.000j |10> +\n", " 0.730+0.000j |11>" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "input_dict = {'00': (0.18257419+0j),\n", " '01': (0.36514837+0j),\n", " '10': (0.54772256+0j),\n", " '11': (0.73029674+0j)}\n", "\n", "\n", "psi_from_dict = QuantumState.from_dictionary(input_dict)\n", "psi_from_dict" ] }, { "cell_type": "markdown", "id": "e476f162", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "Note this method does NOT allow bras to be defined." ] }, { "cell_type": "markdown", "id": "7b7adf72", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "The `from_dictionary` also allows a user to define unormalized quantum states. Let us consider a dictionary the represents the bitstrings obtained by measuring a quantum state in the computaitonal basis.\n", "\n", "Here:\n", "- $|00 \\rangle$ was obtained $200$ times\n", "- $|01 \\rangle$ was obtained $58$ times\n", "- $|10 \\rangle$ was obtained $42$ times\n", "- $|11 \\rangle$ was obtained $200$ times" ] }, { "cell_type": "code", "execution_count": 9, "id": "2837e728", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ " 200.000+0.000j |00> +\n", " 58.000+0.000j |01> +\n", " 42.000+0.000j |10> +\n", " 100.000+0.000j |11>" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "count_dicts = {'00': 200,\n", " '01': 58,\n", " '10': 42,\n", " '11': 100}\n", "\n", "\n", "psi_from_counts = QuantumState.from_dictionary(count_dicts)\n", "psi_from_counts" ] }, { "cell_type": "markdown", "id": "d805a1ed", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "This is **useful** as when performing real quantum experiments we often get data as samples from a quantum state. Here the cofficients of each bitstring represents the number of times it was measured." ] }, { "cell_type": "markdown", "id": "c4c897d5", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "Clearly this state is not normalized. To renormalize such a state we do the apply the `normalize_counts` method:" ] }, { "cell_type": "code", "execution_count": 10, "id": "ef807a93", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ " 0.707+0.000j |00> +\n", " 0.381+0.000j |01> +\n", " 0.324+0.000j |10> +\n", " 0.500+0.000j |11>" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "psi_counts_normalized = psi_from_counts.normalize_counts\n", "psi_counts_normalized" ] }, { "cell_type": "markdown", "id": "c38cc191", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "$$|\\psi_{\\text{normalize counts}} \\rangle = \\frac{|\\psi \\rangle}{\\sum_{i=0}^{2^{n}-1} |c_{i}|} = \\frac{c_{i}|i \\rangle}{\\sum_{i=0}^{2^{n}-1} |c_{i}|}$$" ] }, { "cell_type": "markdown", "id": "c6dc436c", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "```{note}\n", "Importantly this is **NOT** the same as `normalize`\n", "```" ] }, { "cell_type": "code", "execution_count": 12, "id": "e3dafd8d", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ " 0.852+0.000j |00> +\n", " 0.247+0.000j |01> +\n", " 0.179+0.000j |10> +\n", " 0.426+0.000j |11>" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "psi_counts_l2_norm = psi_from_counts.normalize\n", "psi_counts_l2_norm" ] }, { "cell_type": "markdown", "id": "fff4024d", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "The `normalize_counts` counts method allows a quantum state determined from an experiment to be manipulated in a more efficent manor in symmer." ] }, { "cell_type": "markdown", "id": "900d7007", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "The correct re-normalization from experimental counts is the `normalize_counts` method! Therefore care must be used when deciding which normalization routine to use. In most cases:\n", "1. use `normalize` when manipulating standard quantum states\n", "2. use `normalize_counts` when inputting data from experiments / sampling a given state." ] }, { "cell_type": "markdown", "id": "c206f7fb", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "The `random` quantum state initalization method picks random coefficients and random bitstrings from a uniform random distribution. The use is as follows:" ] }, { "cell_type": "code", "execution_count": 11, "id": "d08f85b8", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.067+0.145j |00000> +\n", " 0.251+0.162j |00001> +\n", " 0.323+0.440j |00111> +\n", " 0.496+0.012j |10010> +\n", " 0.258+0.243j |10101> +\n", " 0.029+0.125j |10111> +\n", " 0.238+0.277j |11000> +\n", " 0.090+0.239j |11111>\n", "\n", " 0.072+0.062j |00001> +\n", " 0.016+0.319j |01001> +\n", " 0.141+0.287j |01110> +\n", " 0.007+0.152j |10001> +\n", " 0.144+0.152j |11001> +\n", " 0.133+0.302j |11010> +\n", " 0.361+0.406j |11100> +\n", " 0.162+0.370j |11110> +\n", " 0.265+0.288j |11111>\n" ] } ], "source": [ "N = 5 # number of qubits\n", "M = 10 # number of terms \n", "\n", "psi_1 = QuantumState.random(N, M)\n", "psi_2 = QuantumState.random(N, M)\n", "\n", "print(psi_1)\n", "print()\n", "print(psi_2)" ] }, { "cell_type": "markdown", "id": "51eec6eb", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "Note that the `random` method:\n", "- produces duplicated bitstrings when generating a state and thus the number of terms can be slightly lower!" ] }, { "cell_type": "code", "execution_count": 13, "id": "1617baa1", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ " 0.245+0.112j |00> +\n", " 0.339+0.740j |01> +\n", " 0.138+0.025j |10> +\n", " 0.242+0.432j |11>" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n_qubits = 2\n", "n_terms = 7\n", "\n", "# can be at most 4 unqiue terms and thus forcing 7 means there will be duplicated terms that are delt with\\\n", "# under the hood\n", "\n", "psi_duplicated = QuantumState.random(n_qubits, n_terms)\n", "psi_duplicated" ] }, { "cell_type": "markdown", "id": "720c0b16", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "The `haar_random` method generates a quantum state from the all zero state that has had a haar random unitary applied to it.\n", "\n", "$$|\\psi_{\\text{haar}} \\rangle = U_{\\text{haar}}|0 \\rangle$$" ] }, { "cell_type": "code", "execution_count": 14, "id": "30693c48", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ " 0.196-0.670j |000> +\n", " 0.093+0.326j |001> +\n", "-0.009-0.058j |010> +\n", " 0.311-0.164j |011> +\n", "-0.055-0.199j |100> +\n", " 0.023-0.147j |101> +\n", " 0.159-0.367j |110> +\n", " 0.006-0.212j |111>" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N = 3 # number of qubits\n", "\n", "psi_haar = QuantumState.haar_random(N)\n", "psi_haar" ] }, { "cell_type": "markdown", "id": "44929b25", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "The `QuantumState.zero` method allows use to initalize the all zero state:" ] }, { "cell_type": "code", "execution_count": 15, "id": "ef61051e", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ " 1.000+0.000j |000>" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n_qubits = 3\n", "all_zero_state = QuantumState.zero(n_qubits)\n", "all_zero_state" ] }, { "cell_type": "markdown", "id": "400fd8d9", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "## Methods" ] }, { "cell_type": "markdown", "id": "8c07bb19", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "We can get the Hermitian conjugate transpose of a quantum state using the `dagger` method:" ] }, { "cell_type": "code", "execution_count": 16, "id": "5912abec", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.265+0.270j |01> +\n", " 0.633+0.410j |10> +\n", " 0.227+0.486j |11>\n", "\n", " 0.265-0.270j <01| +\n", " 0.633-0.410j <10| +\n", " 0.227-0.486j <11|\n" ] } ], "source": [ "n_qubits = 2\n", "n_terms = 7\n", "psi_1 = QuantumState.random(n_qubits, n_terms)\n", "print(psi_1)\n", "print()\n", "psi_1_dagger = psi_1.dagger\n", "print(psi_1_dagger)" ] }, { "cell_type": "markdown", "id": "7b64269b", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "We can measure the overlap of a quantum state using this:\n", "\n", "$$\\text{overalp} = \\langle \\psi | \\psi \\rangle$$" ] }, { "cell_type": "code", "execution_count": 17, "id": "4229cfaa", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "(1+0j)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "psi_1.dagger * psi_1" ] }, { "cell_type": "markdown", "id": "d1ef71ca", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "For an unormalized quantum state we see the overalp of a state with itself will not be one:" ] }, { "cell_type": "code", "execution_count": 18, "id": "86ba0e52", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "overlap unormalized: (30+0j)\n", "using overlap to renormalize: True\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/lex/anaconda3/envs/symmer_github/lib/python3.9/site-packages/symmer/operators/base.py:2184: UserWarning: statevector is not normalized\n", " warnings.warn(f'statevector is not normalized')\n" ] }, { "data": { "text/plain": [ " 0.183+0.000j |00> +\n", " 0.365+0.000j |01> +\n", " 0.548+0.000j |10> +\n", " 0.730+0.000j |11>" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ket_unormalized = np.array([[1],\n", " [2],\n", " [3],\n", " [4]])\n", "\n", "psi_ket = QuantumState.from_array(ket_unormalized)\n", "\n", "overlap = psi_ket.dagger * psi_ket\n", "print('overlap unormalized:', overlap)\n", "\n", "# This can however be used to re-normalize a quantum state\n", "psi_ket_normed = psi_ket * (1/np.sqrt(overlap))\n", "print('using overlap to renormalize:', psi_ket_normed._is_normalized())\n", "psi_ket_normed" ] }, { "cell_type": "markdown", "id": "d5ca4077", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "We can also measure the overlap of different quantum states:\n", "\n", "$$\\text{overalp} = \\langle \\psi_{1} | \\psi_{2} \\rangle$$" ] }, { "cell_type": "code", "execution_count": 19, "id": "d0b0ee1a", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "(0.5068453030977333-0.0423240580868338j)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n_q = 4\n", "n_terms = 10\n", "psi_1 = QuantumState.random(n_q,n_terms)\n", "psi_2 = QuantumState.random(n_q,n_terms)\n", "\n", "psi_1.dagger * psi_2" ] }, { "cell_type": "code", "execution_count": null, "id": "776b9f46", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "b28a7697", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "We can also measure the expectation value of a quantum state:" ] }, { "cell_type": "markdown", "id": "6ee20d18", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "$$\\langle \\hat{O} \\rangle = \\langle \\psi | \\hat{O} | \\psi \\rangle$$" ] }, { "cell_type": "code", "execution_count": 20, "id": "ff5380fc", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generate a random Hermitian operator:\n", "\n", " 0.899+0.000j IIII +\n", "-0.063+0.000j IZII +\n", "-0.052+0.000j XXII +\n", "-0.460+0.000j ZZIZ +\n", " 0.744+0.000j XIIZ +\n", " 0.716+0.000j XXZI +\n", " 0.101+0.000j IZXY +\n", "-0.438+0.000j XYII +\n", "-0.849+0.000j YXIX +\n", "-1.849+0.000j IXZZ\n", "\n", "Expectation value = 1.0628769377122658\n" ] } ], "source": [ "from symmer import PauliwordOp\n", "\n", "n_qubits = 4\n", "n_terms = 10\n", "psi = QuantumState.random(n_qubits,\n", " n_terms)\n", "\n", "print('Generate a random Hermitian operator:\\n')\n", "op = PauliwordOp.random(n_qubits, \n", " 10, \n", " complex_coeffs=False)\n", "print(op)\n", "print()\n", "print('Expectation value =', (psi.dagger * op * psi).real)" ] }, { "cell_type": "markdown", "id": "b6072492-9baf-4dd0-8dbc-a1f0885cbe1c", "metadata": {}, "source": [ "```{note}\n", "Note here that psi is the same on both sides. This means we can use the `PauliwordOp.expval` for a faster measurement:\n", "```" ] }, { "cell_type": "code", "execution_count": 21, "id": "de05e626", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Expectation value = 1.0628769377122658\n" ] } ], "source": [ "exp_val = op.expval(psi)\n", "print('Expectation value =', exp_val)" ] }, { "cell_type": "markdown", "id": "8b0b1042", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "We can also evaluate non-diagonal elements:\n", "\n", "$$\\langle \\psi_{1} | \\hat{O} | \\psi_{2} \\rangle$$\n", "\n", "However, we cannot use the `expval` method to achieve this and have to do use the standard:" ] }, { "cell_type": "code", "execution_count": 23, "id": "1ff45d13", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Expectation value = 0.4508779352637781\n" ] } ], "source": [ "n_qubits = 4\n", "n_terms = 10\n", "psi2 = QuantumState.random(n_qubits,\n", " n_terms)\n", "\n", "print('Expectation value =', (psi.dagger * op * psi2).real)" ] }, { "cell_type": "code", "execution_count": null, "id": "7295f4ed", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "5da8d1ad", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "We can also evolve a quantum state as follows:\n", "\n", "$$ | \\psi' \\rangle = \\hat{O} | \\psi \\rangle$$" ] }, { "cell_type": "code", "execution_count": 29, "id": "e4bae4c6", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "psi = 1.000+0.000j |000>\n", "\n", "op = 1.000+0.000j XXI\n", "\n", "psi' = op * psi = 1.000-0.000j |110>\n" ] } ], "source": [ "psi = QuantumState.zero(3)\n", "print('psi =', psi)\n", "print()\n", "op = PauliwordOp.from_list(['XXI'])\n", "print('op = ', op)\n", "\n", "print()\n", "psi_prime = op * psi\n", "print('psi\\' = op * psi =', psi_prime)" ] }, { "cell_type": "markdown", "id": "102c5586", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "Aka we can multiply a PauliwordOp and Quantum state. Note these have be defined on the same number of qubits.\n", "\n", "Furthermore, the operator being applied on the state need not be unitary (and thus the normalization can change). In the example above op is unitary. Let us see an example when this is not the case:" ] }, { "cell_type": "code", "execution_count": 30, "id": "40ea4ac0", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "psi = 1.000+0.000j |000>\n", "\n", "op = 2.000+0.000j XXI +\n", " 3.000+0.000j ZYY\n", "\n", "psi' = op * psi = -3.000+0.000j |011> +\n", " 2.000-0.000j |110>\n", "psi' is normalized: False\n" ] } ], "source": [ "psi = QuantumState.zero(3)\n", "print('psi =', psi)\n", "print()\n", "non_unitary_op = PauliwordOp.from_list(['XXI', 'ZYY'], [2,3])\n", "print('op = ', non_unitary_op)\n", "\n", "print()\n", "psi_prime = non_unitary_op * psi\n", "print('psi\\' = op * psi = ', psi_prime)\n", "print('psi\\' is normalized:', psi_prime._is_normalized())" ] }, { "cell_type": "markdown", "id": "c1f594ac", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "## Manipulating Quantum Measurement Data\n", "\n", "Given a dictionary of measurement outcomes from a quantum experiment, we may intialize a QuantumState for further postprocessing.\n", "\n", "- Dictionary given as: \n", " - key=bitstring\n", " - value=number of occurences or relative frequency" ] }, { "cell_type": "code", "execution_count": 31, "id": "bbe16a57", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ " 4.000+0.000j |0101> +\n", " 10.000+0.000j |1101> +\n", " 20.000+0.000j |0001> +\n", " 16.000+0.000j |1111>" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "measurement_data = {\n", " '0101':4,\n", " '1101':10,\n", " '0001':20,\n", " '1111':16\n", "}\n", "\n", "psi_measured = QuantumState.from_dictionary(measurement_data)\n", "psi_measured" ] }, { "cell_type": "markdown", "id": "965916b0", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "The coefficients here are the number of occurences of each output bitstring. These may be normalized using `normalize_counts` to ensure the correct probability distrubution is preserved:" ] }, { "cell_type": "code", "execution_count": 32, "id": "744d4afe", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.283+0.000j |0101> +\n", " 0.447+0.000j |1101> +\n", " 0.632+0.000j |0001> +\n", " 0.566+0.000j |1111>\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(psi_measured.normalize_counts)\n", "ax = psi_measured.normalize_counts.plot_state(dpi=50)" ] }, { "cell_type": "markdown", "id": "ffe0d3fa", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "This is __not__ the same as taking the $L^2$-norm - the probability distrubtions do not align, as mentioned before." ] }, { "cell_type": "code", "execution_count": 33, "id": "31bff1fa", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.144+0.000j |0101> +\n", " 0.360+0.000j |1101> +\n", " 0.720+0.000j |0001> +\n", " 0.576+0.000j |1111>\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print(psi_measured.normalize)\n", "# this shouldn't be used for normalizing quantum experiment data\n", "# ... but functionality is still useful for normalizing states in the general setting\n", "ax = psi_measured.normalize.plot_state(dpi=50)" ] }, { "cell_type": "markdown", "id": "5ee68f98", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "## State sampling\n", "\n", "It is also possible to randomly sample the state, just like a quantum experiment - this is particularly useful for the purposes of bootstrapping for statistical analysis of quantum experiments." ] }, { "cell_type": "code", "execution_count": 34, "id": "a92ee070", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ " 0.316+0.000j |0101> +\n", " 0.424+0.000j |1101> +\n", " 0.648+0.000j |0001> +\n", " 0.548+0.000j |1111>" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "psi_measured_normalized = psi_measured.normalize_counts\n", "psi_measured_normalized.sample_state(n_samples=50, return_normalized=True)" ] }, { "cell_type": "markdown", "id": "55822c60", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "Given enough samples, the original state will be reproduced exactly:" ] }, { "cell_type": "code", "execution_count": 35, "id": "91a92536", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "With n_samples=1 , = (0.565685424949238+0j)\n", "With n_samples=4 , = (0.799070478491457+0j)\n", "With n_samples=16 , = (0.9274672813718126+0j)\n", "With n_samples=64 , = (0.9998560311499007+0j)\n", "With n_samples=256 , = (0.9995171613100531+0j)\n", "With n_samples=1024 , = (0.9998474493807042+0j)\n", "With n_samples=4096 , = (0.9998306893940146+0j)\n", "With n_samples=16384 , = (0.9999579174180465+0j)\n", "With n_samples=65536 , = (0.9999857884510102+0j)\n", "With n_samples=262144 , = (0.9999988550667571+0j)\n", "With n_samples=1048576 , = (0.9999996869616397+0j)\n", "With n_samples=4194304 , = (0.9999999782683482+0j)\n", "With n_samples=16777216 , = (0.9999999574731135+0j)\n", "With n_samples=67108864 , = (0.9999999945852163+0j)\n", "With n_samples=268435456 , = (0.9999999993936086+0j)\n" ] } ], "source": [ "for n_samples in 2**np.arange(0, 30, 2):\n", " psi_sampled = psi_measured_normalized.sample_state(n_samples=n_samples, return_normalized=True)\n", " print(f'With n_samples={n_samples: <10}, = {psi_sampled.dagger * psi_measured_normalized}')" ] }, { "cell_type": "markdown", "id": "ff63db3d", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "## Plotting probabillity amplitudes of quantum state" ] }, { "cell_type": "code", "execution_count": 36, "id": "0507a7e8", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0.422-0.152j |000> +\n", "-0.018-0.111j |001> +\n", " 0.174+0.075j |010> +\n", "-0.208+0.157j |011> +\n", "-0.159-0.257j |100> +\n", "-0.130+0.190j |101> +\n", "-0.015+0.476j |110> +\n", "-0.339+0.442j |111>\n" ] } ], "source": [ "%matplotlib inline\n", "random_state = QuantumState.haar_random(3, vec_type='ket')\n", "print(random_state)" ] }, { "cell_type": "code", "execution_count": 37, "id": "3753c2b5", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA34UlEQVR4nO3de1xUdeL/8fcAMnhBxEgQJfHCaq4iBUrettb4ipYVXdWfuxKa7aaUOaulrYK3xMxbpsmqaVprarvmXirMJtHNRc1rmeZma+sVvK0gtIHA/P7o4exOojE4wwHO6/l4zGPhM5/5zPu49fDdOZ85Y3E4HA4BAACYiI/RAQAAAKobBQgAAJgOBQgAAJgOBQgAAJgOBQgAAJgOBQgAAJgOBQgAAJiOn9EBaqLy8nKdOnVKgYGBslgsRscBAACV4HA4dOnSJYWHh8vH5/rneChAFTh16pQiIiKMjgEAAKrg+PHjatmy5XXnUIAqEBgYKOn7P8DGjRsbnAYAAFRGQUGBIiIinH+PXw8FqAJXLns1btyYAgQAQC1Tme0rbIIGAACmQwECAACmQwECAACmQwECAACmQwECAACmQwECAACmQwECAACmQwECAACmQwECAACmQwECAACmQwECAACmQwECAACmQwECAACmQwECAACmQwECAACmQwECAKCGKSktNzqCV9WE4/MzOgAAAHDl7+ejO2bYVVhcanQUj2tk9dP2F+42OgYFCACAmqiwuLROFqCagktgAADAdChAAADAdChAAADAdChAAADAdChAAADAdGpEAVq0aJEiIyMVEBCg+Ph47dy585pz169fr7i4ODVp0kQNGzZUTEyM3nzzTZc5DodDaWlpat68uerXr6+EhAR99dVX3j4MAABQSxhegNauXSubzab09HTt2bNHXbp0UWJios6cOVPh/KZNm+q3v/2tcnJy9NlnnyklJUUpKSnauHGjc86sWbO0YMECZWZmaseOHWrYsKESExP13XffVddhAQCAGszicDgcRgaIj49X165dtXDhQklSeXm5IiIi9PTTT2v8+PGVWuP222/Xvffeq2nTpsnhcCg8PFy/+c1vNHbsWElSfn6+QkND9cYbb2jQoEE/ul5BQYGCgoKUn5+vxo0bV/3gAACook7pG+vkfYAaWf10YEqiV9Z25+9vQ88AlZSUaPfu3UpISHCO+fj4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tqMAAQAA06EAAQAA03G7AF35BBgAAEBt5XYBCg0N1bBhw/TJJ594Iw8AAIDXuV2A3nrrLV24cEF9+vTRT37yE82cOdN5N2gAAIDawO0ClJSUpA0bNujkyZP69a9/rdWrV6tVq1YaMGCA1q9fr9LSUm/kBAAA8Jgqb4K++eabZbPZ9Nlnn2nu3Ln66KOP9Mgjjyg8PFxpaWn69ttvPZkTAADAY6p8I8S8vDytXLlSb7zxhv71r3/pkUce0fDhw3XixAm99NJL2r59uz788ENPZgUAAPAItwvQ+vXrtWLFCm3cuFEdO3bUyJEj9Ytf/EJNmjRxzunRo4duvfVWT+YEAADwGLcLUEpKigYNGqRt27apa9euFc4JDw/Xb3/72xsOBwAA4A1uF6DTp0+rQYMG151Tv359paenVzkUAACAN7m9CTowMFBnzpy5avz8+fPy9fX1SCgAAABvcrsAORyOCseLi4vl7+/vdoBFixYpMjJSAQEBio+P186dO68594svvtDDDz+syMhIWSwWzZ8//6o5kydPlsVicXl06NDB7VwAAKDuqvQlsAULFkiSLBaLli1bpkaNGjmfKysr09atW90uGmvXrpXNZlNmZqbi4+M1f/58JSYm6vDhw2rWrNlV87/99lu1adNGjz76qMaMGXPNdX/605/qo48+cv7u51flD7sBAIA6qNLNYN68eZK+PwOUmZnpcrnL399fkZGRyszMdOvN586dqxEjRiglJUWSlJmZqffee0/Lly/X+PHjr5rftWtX58brip6/ws/PT2FhYW5lAQAA5lHpAnT06FFJ0s9//nOtX79ewcHBN/TGJSUl2r17tyZMmOAc8/HxUUJCgnJycm5o7a+++krh4eEKCAhQ9+7dlZGRoVtuueWa84uLi1VcXOz8vaCg4IbeHwAA1Gxu7wHavHnzDZcfSTp37pzKysoUGhrqMh4aGqrc3NwqrxsfH6833nhDWVlZWrx4sY4eParevXvr0qVL13xNRkaGgoKCnI+IiIgqvz8AAKj5KnUGyGazadq0aWrYsKFsNtt1586dO9cjwaqqf//+zp+jo6MVHx+vVq1aad26dRo+fHiFr5kwYYLLcRUUFFCCAACowypVgPbu3avLly87f74Wi8VS6TcOCQmRr6+v8vLyXMbz8vI8un+nSZMm+slPfqIjR45cc47VapXVavXYewIA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x44dMzqSx/z5z39WXFycHn30UTVr1ky33Xabli5danQsrykpKdFbb72lYcOG1fovAa8sClAddO7cOZWVlTnvpn1FaGiocnNzDUqFqiovL9ezzz6rnj17utzxvC74/PPP1ahRI1mtVv3617/Wu+++q44dOxody2PWrFmjPXv2OL/Kpy6Jj4/XG2+8oaysLC1evFhHjx5V7969denSJaOjecQ///lPLV68WFFRUdq4caOeeuopPfPMM1q5cqXR0bxiw4YNunjxoh5//HGjo1Qbw78KA8D1jRo1SgcOHKhT+yuuaN++vfbt26f8/Hz94Q9/UHJysrZs2VInStDx48c1evRobdq0qU5+DU///v2dP0dHRys+Pl6tWrXSunXrNHz4cAOTeUZ5ebni4uI0Y8YMSdJtt92mAwcOKDMzU8nJyQan87zXX39d/fv3V3h4uNFRqg1ngOqgkJAQ+fr6Ki8vz2U8Ly9PYWFhBqVCVaSmpuqvf/2rNm/erJYtWxodx+P8/f3Vrl07xcbGKiMjQ126dNErr7xidCyP2L17t86cOaPbb79dfn5+8vPz05YtW7RgwQL5+fmprKzM6Ige1aRJE/3kJz/RkSNHjI7iEc2bN7+qiN9666116jLfFf/617/00Ucf6YknnjA6SrWiANVB/v7+io2Nld1ud46Vl5fLbrfXuf0VdZXD4VBqaqreffddffzxx2rdurXRkapFeXm5iouLjY7hEXfffbc+//xz7du3z/mIi4vTkCFDtG/fPvn6+hod0aMKCwv19ddfq3nz5kZH8YiePXtedeuJf/zjH2rVqpVBibxnxYoVatasme69916jo1QrLoHVUTabTcnJyYqLi1O3bt00f/58FRUVKSUlxehoHlFYWOjyX5pHjx7Vvn371LRpU91yyy0GJvOMUaNGafXq1frTn/6kwMBA596toKAg1a9f3+B0njFhwgT1799ft9xyiy5duqTVq1crOztbGzduNDqaRwQGBl61Z6thw4a66aab6sRerrFjx+q+++5Tq1atdOrUKaWnp8vX11eDBw82OppHjBkzRj169NCMGTP02GOPaefOnVqyZImWLFlidDSPKi8v14oVK5ScnCw/P5NVAqM/hgbvefXVVx233HKLw9/f39GtWzfH9u3bjY7kMZs3b3ZIuuqRnJxsdDSPqOjYJDlWrFhhdDSPGTZsmKNVq1YOf39/x8033+y4++67HR9++KHRsbyqLn0MfuDAgY7mzZs7/P39HS1atHAMHDjQceTIEaNjedRf/vIXR6dOnRxWq9XRoUMHx5IlS4yO5HEbN250SHIcPnzY6CjVzuJwOBzGVC8AAABjsAcIAACYDgUIAACYDgUIAACYDgUIAACYDgUIAACYDgUIAACYDgUIAACYDgUIAACYDgUIQJXdddddevbZZ687JzIyUvPnz6+WPABQWRQgAF716aef6sknnzQ6hldZLBZt2LDBK2tTIAHvMNk3nwGobjfffLPX36OkpET+/v5efx8AdQdngADckNLSUqWmpiooKEghISGaNGmS/vcrBn94BsNisWjZsmV68MEH1aBBA0VFRenPf/6z8/mysjINHz5crVu3Vv369dW+fXu98sorLu/5+OOPKykpSS+++KLCw8PVvn17TZ06tcJvWY+JidGkSZOumX/Lli3q1q2brFarmjdvrvHjx6u0tPSa+a+sOXnyZOfzkvTggw/KYrE4f588ebJiYmL0u9/9ThEREWrQoIEee+wx5efnO9ep6BJiUlKSHn/8cefz//rXvzRmzBhZLBZZLJZrHgcA91CAANyQlStXys/PTzt37tQrr7yiuXPnatmyZdd9zZQpU/TYY4/ps88+0z333KMhQ4bowoULkqTy8nK1bNlS77zzjg4ePKi0tDS98MILWrduncsadrtdhw8f1qZNm/TXv/5Vw4YN06FDh/Tpp5865+zdu1efffaZUlJSKsxx8uRJ3XPPPeratav279+vxYsX6/XXX9f06dMrffxX3m/FihU6ffq0y/sfOXJE69at01/+8hdlZWVp7969GjlyZKXXXr9+vVq2bKmpU6fq9OnTOn36dKVfC+D6uAQG4IZERERo3rx5slgsat++vT7//HPNmzdPI0aMuOZrHn/8cQ0ePFiSNGPGDC1YsEA7d+5Uv379VK9ePU2ZMsU5t3Xr1srJydG6dev02GOPOccbNmyoZcuWuVz6SkxM1IoVK9S1a1dJ35eSO++8U23atKkwx2uvvaaIiAgtXLhQFotFHTp00KlTp/T8888rLS1NPj4//t+IVy7xNWnSRGFhYS7Pfffdd1q1apVatGghSXr11Vd17733as6cOVfNrUjTpk3l6+urwMDASs0HUHmcAQJwQ+644w6XSzPdu3fXV199pbKysmu+Jjo62vlzw4YN1bhxY505c8Y5tmjRIsXGxurmm29Wo0aNtGTJEh07dsxljc6dO1+172fEiBF6++239d1336mkpESrV6/WsGHDrpnj0KFD6t69u0v+nj17qrCwUCdOnPjxg/8Rt9xyi7P8SN//2ZSXl+vw4cM3vDaAG8MZIADVrl69ei6/WywWlZeXS5LWrFmjsWPHas6cOerevbsCAwP18ssva8eOHS6vadiw4VXr3nfffbJarXr33Xfl7++vy5cv65FHHrmhrD4+Pi57miTp8uXLN7RmdawN4PooQABuyA+Lyfbt2xUVFSVfX98qrbdt2zb16NHDZa/M119/XanX+vn5KTk5WStWrJC/v78GDRqk+vXrX3P+rbfeqj/+8Y9yOBzOs0Dbtm1TYGCgWrZsKen7S1z/u/emoKBAR48edVmnXr16FZ7xOnbsmE6dOqXw8HBJ3//Z+Pj4qH379hWuXVZWpgMHDujnP/+5c8zf3/+6Z9MAVA2XwADckGPHjslms+nw4cN6++239eqrr2r06NFVXi8qKkq7du3Sxo0b9Y9//EOTJk1y2Vj8Y5544gl9/PHHysrKuu7lL0kaOXKkjh8/rqefflpffvml/vSnPyk9PV02m825/6dPnz5688039be//U2ff/65kpOTryp3kZGRstvtys3N1b///W/neEBAgJKTk7V//3797W9/0zPPPKPHHnvMuZ+nT58+eu+99/Tee+/pyy+/1FNPPaWLFy9etfbWrVt18uRJnTt3rtJ/DgCujzNAAG7I0KFD9Z///EfdunWTr6+vRo8efUM3PvzVr36lvXv3auDAgbJYLBo8eLBGjhypDz74oFKvj4qKUo8ePXThwgXFx8dfd26LFi30/vvva9y4cerSpYuaNm2q4cOHa+LEic45EyZM0NGjRzVgwAAFBQVp2rRpV50BmjNnjmw2m5YuXaoWLVrom2++kSS1a9dODz30kO655x5duHBBAwYM0GuvveZ83bBhw7R//34NHTpUfn5+GjNmjMvZH0maOnWqfvWrX6lt27YqLi6+6pIZgKqxOPi3CUAd4nA4FBUVpZEjR8pmsxmWY/LkydqwYYP27dtnWAYA18YZIAB1xtmzZ7VmzRrl5uZe894/ACBRgADUIc2aNVNISIiWLFmi4OBgo+MAqMG4BAYAAEyHT4EBAADToQABAADToQABAADToQABAADToQABAADToQABAADToQABAADToQABAADT+f9D8cIEpcX9yQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = random_state.plot_state(dpi=100)" ] }, { "cell_type": "code", "execution_count": 38, "id": "2390a4c1", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "random_large_state = QuantumState.haar_random(10, vec_type='ket')\n", "ax2 = random_large_state.plot_state(logscale=False)" ] }, { "cell_type": "code", "execution_count": 39, "id": "2870f1a5", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAGwCAYAAABSN5pGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAABFc0lEQVR4nO3de1jUdf7//8cAzqCIoCInRfGUhzyjIlZrJT/RjqR5WktC09pETT65aqtiWmKlaJaHj6VWu5Ha92O2WauLeCrDE2jmITddC1PB0yqBK8f5/dHl1AygjDIziPfbdb2vZV7zmtfzOW7ho/fRYDabzQIAAICFm6sbAAAAqGoISAAAADYISAAAADYISAAAADYISAAAADYISAAAADYISAAAADY8XN3A7aqkpESnT5+Wt7e3DAaDq9sBAAAVYDab9csvvyg4OFhubuXvJyIg3aTTp08rJCTE1W0AAICbcPLkSTVq1Kjc9wlIN8nb21vSr3/AderUcXE3AACgInJychQSEmL5e7w8BKSbdO2wWp06dQhIAADcZm50egwnaQMAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAgHIVFJXcUXWv8XBpdQAAUKUZPdzUY3aqcvOLnFaztslDO1/u7bR6ZSEgAQCA68rNL3JqQKoKOMQGAABgg4AEAABgg4AEAABgg4AEAABgg4AEAABgg4AEAABgw+UBadGiRQoNDZWnp6fCw8O1e/fucuceOnRIAwYMUGhoqAwGgxYsWFBqzrX3bLcxY8ZY5tx///2l3n/++ecd8fUAAMBtyKUBafXq1YqPj1dCQoIyMjLUsWNHRUVF6ezZs2XOv3Llipo1a6Y5c+YoMDCwzDl79uzRmTNnLFtKSookaeDAgVbzRo0aZTXvjTfeqNwvBwAAblsuvVFkUlKSRo0apdjYWEnS0qVL9cUXX2jFihWaPHlyqfndunVTt27dJKnM9yWpQYMGVq/nzJmj5s2bq1evXlbjtWrVKjdklSU/P1/5+fmW1zk5ORX+LAAAuL24bA9SQUGB0tPTFRkZ+Vszbm6KjIxUWlpapdX429/+phEjRshgMFi999FHH8nPz0/t2rXTlClTdOXKleuulZiYKB8fH8sWEhJSKT0CAICqx2V7kM6fP6/i4mIFBARYjQcEBOj777+vlBrr1q3TpUuX9Mwzz1iN//GPf1STJk0UHBysAwcOaNKkSTp69KjWrl1b7lpTpkxRfHy85XVOTg4hCQCAaqpaP4tt+fLl6tevn4KDg63GR48ebfm5ffv2CgoKUu/evXX8+HE1b968zLVMJpNMJpND+wUAAFWDyw6x+fn5yd3dXdnZ2Vbj2dnZdp0bVJ6ffvpJmzZt0rPPPnvDueHh4ZKkY8eO3XJdAABw+3NZQDIajQoLC1NqaqplrKSkRKmpqYqIiLjl9VeuXCl/f389/PDDN5y7f/9+SVJQUNAt1wUAALc/lx5ii4+PV0xMjLp27aru3btrwYIFysvLs1zVNnz4cDVs2FCJiYmSfj3p+vDhw5afT506pf3796t27dpq0aKFZd2SkhKtXLlSMTEx8vCw/orHjx9XcnKyHnroIdWvX18HDhzQhAkT9Ic//EEdOnRw0jcHAABVmUsD0uDBg3Xu3DlNnz5dWVlZ6tSpkzZs2GA5cTszM1Nubr/t5Dp9+rQ6d+5seT137lzNnTtXvXr10tatWy3jmzZtUmZmpkaMGFGqptFo1KZNmyxhLCQkRAMGDNDUqVMd90UBAMBtxWA2m82ubuJ2lJOTIx8fH12+fFl16tRxdTsAADhMu4SNys0vclq92iYPHXwlyiFrV/Tvb5c/agQAAKCqISABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAHAbKCgqcXULdxQPVzcAAABuzOjhph6zU5WbX+S0mv7eJm1+6X6n1atKCEgAANwmcvOLnBqQvEzuTqtV1XCIDQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwIbLA9KiRYsUGhoqT09PhYeHa/fu3eXOPXTokAYMGKDQ0FAZDAYtWLCg1JwZM2bIYDBYba1bt7aac/XqVY0ZM0b169dX7dq1NWDAAGVnZ1f2VwMAALcplwak1atX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fHilPLD8Rt93xowZat26tby8vFS3bl1FRkZq165dDq/7e88//7wMBoMWLFjg8LrPPPNMqX+f+/bte8t1HY2AVA3k5eWpY8eOWrRokVPrbtu2TWPGjNHOnTuVkpKiwsJC9enTR3l5eQ6t26hRI82ZM0fp6enau3evHnzwQT3++OM6dOiQQ+v+3p49e/S///u/6tChg1Pq3X333Tpz5oxl+/rrrx1e8z//+Y/uuece1ahRQ//4xz90+PBhzZs3T3Xr1nVo3T179lh915SUFEnSwIEDHVr39ddf15IlS/TOO+/oyJEjev311/XGG2/o7bffdmhdSXr22WeVkpKiv/71r/ruu+/Up08fRUZG6tSpU5Va50a/K9544w0tXLhQS5cu1a5du+Tl5aWoqChdvXrVoXXz8vJ077336vXXX7+lOvbUvXLlijIyMjRt2jRlZGRo7dq1Onr0qB577DGH1pWku+66S++8846+++47ff311woNDVWfPn107tw5h9a95tNPP9XOnTsr7b5/Fanbt29fq3+vP/7440qp7VDXfVIbbjuSzJ9++qlLap89e9Ysybxt2zan165bt675vffec0qtX375xdyyZUtzSkqKuVevXubx48c7tF5CQoK5Y8eODq1RlkmTJpnvvfdep9e1NX78eHPz5s3NJSUlDq3z8MMPm0eMGGE11r9/f/OwYcMcWvfKlStmd3d38/r1663Gu3TpYv7LX/7isLq2vytKSkrMgYGB5jfffNMydunSJbPJZDJ//PHHDqv7eydOnDBLMu/bt6/S6lWk7jW7d+82SzL/9NNPTq17+fJlsyTzpk2bHF73559/Njds2NB88OBBc5MmTczz58+vtJrl1Y2JiTE//vjjlVrHGdiDhEpz+fJlSVK9evWcVrO4uFirVq1SXl5euY+nqWxjxozRww8/rMjISKfUk6QffvhBwcHBatasmYYNG6bMzEyH1/z73/+url27auDAgfL391fnzp317rvvOrzu7xUUFOhvf/ubRowY4fCHQvfs2VOpqan617/+JUn69ttv9fXXX6tfv34OrVtUVKTi4mKrG9lKUs2aNZ2yp/CaEydOKCsry+qfax8fH4WHhystLc1pfbjS5cuXZTAYnPqczYKCAi1btkw+Pj7q2LGjQ2uVlJTo6aef1sSJE3X33Xc7tJatrVu3yt/fX61atdKf/vQn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qlGjhtVrg8GgkpISSdKqVav00ksvad68eYqIiJC3t7fefPNN7dq1y+ozXl5epdZ99NFHZTKZ9Omnn8poNKqwsFBPPvnkLfXq5uZmdU6VJBUWFt7Sms5YG0D5CEgAHM42uOzcuVMtW7aUu7v7Ta23Y8cO9ezZ0+pcnePHj1fosx4eHoqJidHKlStlNBo1ZMgQ1axZs9z5bdq00f/93//JbDZb9iLt2LFD3t7eatSokaRfD6H9/tyfnJwcnThxwmqdGjVqlLnHLDMzU6dPn1ZwcLCkX/9s3Nzc1KpVqzLXLi4u1sGDB/XAAw9YxoxG43X3xgGwH4fYADhcZmam4uPjdfToUX388cd6++23NX78+Jter2XLltq7d682btyof/3rX5o2bZrVic838uyzz2rz5s3asGHDdQ+vSdILL7ygkydPauzYsfr+++/12WefKSEhQfHx8Zbzjx588EH99a9/1VdffaXvvvtOMTExpcJfaGioUlNTlZWVpf/85z+WcU9PT8XExOjbb7/VV199pXHjxmnQoEGW84kefPBBffHFF/riiy/0/fff609/+pMuXbpUau3t27fr1KlTOn/+fIX/HACUjz1IABxu+PDh+u9//6vu3bvL3d1d48ePv6UbQz733HPat2+fBg8eLIPBoKFDh+qFF17QP/7xjwp9vmXLlurZs6cuXryo8PDw685t2LChvvzyS02cOFEdO3ZUvXr1NHLkSE2dOtUyZ8qUKTpx4oQeeeQR+fj4aNasWaX2IM2bN0/x8fF699131bBhQ/3444+SpBYtWqh///566KGHdPHiRT3yyCNavHix5XMjRozQt99+q+HDh8vDw0MTJkyw2nskSTNnztRzzz2n5s2bKz8/v9QhOQD2M5j5NwnAHcZsNqtly5Z64YUXFB8f77I+ZsyYoXXr1mn//v0u6wFA2diDBOCOcu7cOa1atUpZWVnl3vsIAAhIAO4o/v7+8vPz07Jly1S3bl1XtwOgiuIQGwAAgA2uYgMAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALDx/wNBova6VsxEQwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a = np.arange(2**4)\n", "a = a/np.linalg.norm(a)\n", "psi = QuantumState.from_array(a.reshape([-1,1]))\n", "ax = psi.plot_state()" ] }, { "cell_type": "code", "execution_count": 40, "id": "44e0482f", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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/v37NWfOHIWEhJhad/v27UV+13Xr1kmS/vjHP5pa96WXXtKCBQv0+uuv68CBA3rppZf08ssv67XXXjO1riQ99thjWrdund59913t3btX3bt3V7du3XT8+HG31bjR58TLL7+s+fPna+HChdq6dasCAwPVo0cPXb582dS6OTk5uueee/TSSy/dUh1Xa//666/atWuXJk+erF27dmn16tU6ePCg+vbta2pdSbrjjjv0+uuva+/evfruu+8UHR2t7t276+zZs6bWveqjjz7S999/r8jIyFuq50rdnj17Fvl7/f7777ultqkMlEuSjI8++sgrtc+cOWNIMjZu3Ojx2iEhIcaSJUs8UuvSpUtG48aNjXXr1hl/+MMfjLFjx5pab+rUqUZ8fLypNa7lqaeeMu655x6P1/29sWPHGg0bNjQcDoepde6//35jxIgRRcYGDBhgDB061NS6v/76q+Hr62t89tlnRcbvvvtu49lnnzWl5u8/JxwOh1GrVi3jlVdecY5duHDBCAgIMN5//33T6v5Wenq6IcnYvXu32+qVtvZV27ZtMyQZR44c8WjdixcvGpKMr7/+2vS6x44dM2rXrm3s27fPqFevnjF37ly31SypbkJCgvHAAw+4tY4ncEUILrt48aIkqUaNGh6rWVhYqBUrVignJ0ft27f3SM3ExETdf//96tatm0fqSdLPP/+syMhINWjQQEOHDtXRo0dNr/nJJ5+oVatW+uMf/6iwsDDdddddWrx4sel1fysvL0/vvfeeRowYYfrDjTt06KDU1FT99NNPkqQ9e/bou+++U69evUytW1BQoMLCQlWuXLnIeJUqVTxy5U+S0tPTderUqSL/TQcHB6tt27basmWLR3ooCy5evCibzabq1at7rGZeXp4WLVqk4OBgxcfHm1rL4XDokUce0cSJE9W0aVNTa/3eN998o7CwMMXExOjPf/6zzp8/79H6N4OHrsIlDodD48aNU8eOHdWsWTPT6+3du1ft27fX5cuXddttt+mjjz5SbGys6XVXrFihXbt2uX39xvW0bdtWb7/9tmJiYnTy5ElNnz5dnTp10r59+xQUFGRa3X//+99asGCBkpOT9cwzz2j79u0aM2aM/P39lZCQYFrd31qzZo0uXLigRx991PRakyZNUlZWlpo0aSJfX18VFhZq5syZGjp0qKl1g4KC1L59ez3//PO68847FR4ervfff19btmxRo0aNTK191alTpyRJ4eHhRcbDw8Od71V0ly9f1lNPPaUhQ4Z45AGhn332mR566CH9+uuvioiI0Lp16xQaGmpqzZdeekl+fn4aM2aMqXV+r2fPnhowYIDq16+vw4cP65lnnlGvXr20ZcsW+fr6erQXVxCE4JLExETt27fPY/8HGxMTo7S0NF28eFH//Oc/lZCQoI0bN5oahjIyMjR27FitW7eu2P+9m+m3VyTi4uLUtm1b1atXT6tWrdLIkSNNq+twONSqVSvNmjVLknTXXXdp3759WrhwoceC0NKlS9WrVy+3rWW4nlWrVukf//iHli9frqZNmyotLU3jxo1TZGSk6b/vu+++qxEjRqh27dry9fXV3XffrSFDhmjnzp2m1sUV+fn5GjRokAzD0IIFCzxSs0uXLkpLS9O5c+e0ePFiDRo0SFu3blVYWJgp9Xbu3KlXX31Vu3btMv3q6u899NBDzu+bN2+uuLg4NWzYUN98843uvfdej/biCqbGUGpJSUn67LPPtGHDBtWpU8cjNf39/dWoUSO1bNlSs2fPVnx8vF599VVTa+7cuVNnzpzR3XffLT8/P/n5+Wnjxo2aP3++/Pz8VFhYaGr9q6pXr6477rhDhw4dMrVOREREsWB55513emRaTpKOHDmir7/+Wo899phH6k2cOFGTJk3SQw89pObNm+uRRx7R+PHjNXv2bNNrN2zYUBs3blR2drYyMjK0bds25efnq0GDBqbXlqRatWpJkk6fPl1k/PTp0873KqqrIejIkSNat26dR64GSVJgYKAaNWqkdu3aaenSpfLz89PSpUtNq/ftt9/qzJkzqlu3rvPz68iRI/rLX/6i6Oho0+peS4MGDRQaGmr6Z9itIgjhhgzDUFJSkj766COtX79e9evX91ovDodDubm5pta49957tXfvXqWlpTm/WrVqpaFDhyotLc1jl3izs7N1+PBhRUREmFqnY8eOxbZD+Omnn1SvXj1T6161bNkyhYWF6f777/dIvV9//VU+PkU/+nx9feVwODxSX7ryj2NERIR++eUXrV27Vg888IBH6tavX1+1atVSamqqcywrK0tbt2712No7b7gagn7++Wd9/fXXqlmzptd6Mfsz7JFHHtEPP/xQ5PMrMjJSEydO1Nq1a02rey3Hjh3T+fPnTf8Mu1VMjZUj2dnZ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pfT09CLnqVSp0jWvgB09elQnTpxQZGSkpCt/Nj4+PoqJibnmuQsLC7Vv3z516dLFOebv73/dq2sAbg5TYwDc4ujRo0pOTtbBgwf1/vvv67XXXtPYsWNv+nyNGzfWjh07tHbtWv3000+aPHlykQXIN/LYY49p/fr1+vLLL687LSZJTz75pDIyMjR69Gj9+OOP+vjjjzV16lQlJyc71wd17dpV7777rr799lvt3btXCQkJxUJedHS0UlNTderUKf3yyy/O8cqVKyshIUF79uzRt99+qzFjxmjQoEHO9T5du3bV559/rs8//1w//vij/vznP+vChQvFzr1p0yYdP35c586dK/WfA4Dr44oQALcYNmyY/vvf/6pNmzby9fXV2LFjb2kDxccff1y7d+/W4MGDZbPZNGTIED355JP64osvSvXzjRs3VocOHZSZmam2bdte99jatWvrf//3fzVx4kTFx8erRo0aGjlypJ577jnnMU8//bTS09PVu3dvBQcH6/nnny92RWjOnDlKTk7W4sWLVbt2bf3nP/+RJDVq1EgDBgzQfffdp8zMTPXu3VtvvPGG8+dGjBihPXv2aNiwYfLz89P48eOLXA2SpBkzZujxxx9Xw4YNlZubW2wqDcDNsRn8bQJQARmGocaNG+vJJ59UcnKy1/qYNm2a1qxZo7S0NK/1AKBkXBECUOGcPXtWK1as0KlTp0rcOwgAJIIQgAooLCxMoaGhWrRokUJCQrzdDoAyjKkxAABgWdw1BgAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALOv/AxWx1/5b/SI5AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psi.plot_state(logscale=True)" ] }, { "cell_type": "code", "execution_count": 42, "id": "c7091393", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAGwCAYAAABSN5pGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8cElEQVR4nO3deViVdf7/8dcBBBRZVBLEUDQdlxE3VMIWK7kCq3FQMiULQ8M21DyTGY2KaYlTimRu33KpZjLNa8ymZWiIXMpQEzRznXIsTBYXRkkdWc/vj36dOjegHAQP0PNxXfc153zuz/253zf3dPXqc3/OOSaLxWIRAAAArJwcXQAAAEBDQ0ACAAAwICABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAICBi6MLaKwqKiqUm5srT09PmUwmR5cDAABqwGKx6Mcff1RAQICcnKqfJyIg1VJubq4CAwMdXQYAAKiF48eP6/rrr692PwGpljw9PSX99Af28vJycDUAAKAmioqKFBgYaP33eHUISLX082M1Ly8vAhIAAI3MlZbHsEgbAADAgIAEAABgQEACAAAwICABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAIABAQkAAMCAgAQAAGBAQAIAADAgIAEAABgQkAAAAAwISAAAAAYEJAAAAAMCEgCgSSopq3B0CbgKjr5/Lg49OwAA9cTVxUk3zsvQ+eIyR5cCO7V0c9GOZ4c6tAYCEgCgyTpfXEZAQq3wiA0AAMCAgAQAAGBAQAIAADAgIAEAABgQkAAAAAwISAAAAAYOD0hLly5VUFCQ3N3dFRoaql27dlXb98CBA4qOjlZQUJBMJpNSU1Mr9fl5n3F74oknrH1uu+22SvsfffTR+rg8AADQCDk0IK1fv15ms1lJSUnKzs5Wnz59FBERoZMnT1bZ/+LFi+rcubPmz58vf3//Kvt8+eWXysvLs27p6emSpFGjRtn0i4+Pt+n34osv1u3FAQCARsuhXxSZkpKi+Ph4xcXFSZJWrFihDz/8UKtXr9YzzzxTqf/AgQM1cOBASapyvyRdd911Nu/nz5+vG264QUOGDLFpb9GiRbUhqyrFxcUqLi62vi8qKqrxsQAAoHFx2AxSSUmJsrKyFB4e/ksxTk4KDw9XZmZmnZ3jb3/7m8aPHy+TyWSz76233pKvr6969eqlxMREXbx48bJjJScny9vb27oFBgbWSY0AAKDhcdgM0unTp1VeXi4/Pz+bdj8/Px0+fLhOzrFp0yadPXtWDz30kE37/fffr44dOyogIED79u3T9OnTdeTIEW3cuLHasRITE2U2m63vi4qKCEkAADRRTfq32FatWqVhw4YpICDApn3ixInW18HBwWrXrp2GDh2qo0eP6oYbbqhyLDc3N7m5udVrvQAAoGFw2CM2X19fOTs7q6CgwKa9oKDArrVB1fn+++/1ySef6OGHH75i39DQUEnSt99+e9XnBQAAjZ/DApKrq6tCQkKUkZFhbauoqFBGRobCwsKuevw1a9aobdu2uvvuu6/Yd+/evZKkdu3aXfV5AQBA4+fQR2xms1njxo3TgAEDNGjQIKWmpurChQvWT7XFxsaqffv2Sk5OlvTTouuDBw9aX584cUJ79+5Vy5Yt1aVLF+u4FRUVWrNmjcaNGycXF9tLPHr0qNauXau77rpLbdq00b59+zR16lTdeuut6t279zW6cgAA0JA5NCCNHj1ap06d0qxZs5Sfn6++ffsqLS3NunA7JydHTk6/THLl5uaqX79+1vcLFizQggULNGTIEG3ZssXa/sknnygnJ0fjx4+vdE5XV1d98skn1jAWGBio6OhozZgxo/4uFAAANComi8VicXQRjVFRUZG8vb117tw5eXl5ObocAEAVeiV9rPPFZY4uA3Zq6eai/c9F1MvYNf33t8N/agQAAKChISABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAIABAQkAAMCAgAQAAGBAQAIAADAgIAEAABgQkAAAAAwISAAAAAYEJAAAAAMCEgAAgAEBCQAAwICABAAAYEBAAgAAMCAgAQAAGBCQAAAADAhIAAAABgQkAAAAAwISAACAAQEJAADAgIAEAABgQEACAAAwICABQBVKyiocXQIAB3JxdAEA0BC5ujjpxnkZOl9c5uhSUAttPd306VO3OboMNGIEJACoxvniMgJSI+Xh5uzoEtDI8YgNAADAgIAEAABgQEACAAAwICABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAIABAQkAAMDA4QFp6dKlCgoKkru7u0JDQ7Vr165q+x44cEDR0dEKCgqSyWRSampqpT6zZ8+WyWSy2bp3727T59KlS3riiSfUpk0btWzZUtHR0SooKKjrSwMAAI2UQwPS+vXrZTablZSUpOzsbPXp00cRERE6efJklf0vXryozp07a/78+fL396923N///vfKy8uzbp9//rnN/qlTp+r999/Xhg0btHXrVuXm5mrkyJF1em0AAKDxcmhASklJUXx8vOLi4tSzZ0+tWLFCLVq00OrVq6vsP3DgQL300ksaM2aM3Nzcqh3XxcVF/v7+1s3X19e679y5c1q1apVSUlJ0xx13KCQkRGvWrNEXX3yhHTt21Pk1AgCAxsdhAamkpERZWVkKDw//pRgnJ4WHhyszM/Oqxv7mm28UEBCgzp07a+zYscrJybHuy8rKUmlpqc15u3fvrg4dOlz2vMXFxSoqKrLZAABA0+SwgHT69GmVl5fLz8/Ppt3Pz0/5+fm1Hjc0NFSvv/660tLStHz5ch07dky33HKLfvzxR0lSfn6+XF1d5ePjY9d5k5OT5e3tbd0CAwNrXSMAAGjYHL5Iu64NGzZMo0aNUu/evRUREaGPPvpIZ8+e1TvvvHNV4yYmJurcuXPW7fjx43VUMQAAaGhcHHViX19fOTs7V/r0WEFBwWUXYNvLx8dHv/vd7/Ttt99Kkvz9/VVSUqKzZ8/azCJd6bxubm6XXfcEAACaDofNILm6uiokJEQZGRnWtoqKCmVkZCgsLKzOznP+/HkdPXpU7dq1kySFhISoWbNmNuc9cuSIcnJy6vS8AACg8XLYDJIkmc1mjRs3TgMGDNCgQYOUmpqqCxcuKC4uTpIUGxur9u3bKzk5WdJPC7sPHjxofX3ixAnt3btXLVu2VJcuXSRJTz31lP7whz+oY8eOys3NVVJSkpydnRUTEyNJ8vb21oQJE2Q2m9W6dWt5eXlp0qRJCgsL04033uiAvwIAAGhoHBqQRo8erVOnTmnWrFnKz89X3759lZaWZl24nZOTIyenXya5cnNz1a9fP+v7BQsWaMGCBRoyZIi2bNkiSfrhhx8UExOjM2fO6LrrrtPNN9+sHTt26LrrrrMet2jRIjk5OSk6OlrFxcWKiIjQsmXLrs1FAwCABs9ksVgsji6iMSoqKpK3t7fOnTsnLy8vR5cDoB70SvpY54vLHF0GasHPy007nw3nHjZSLd1ctP+5iHoZu6b//m5yn2IDAAC4WgQkAAAAAwISAACAAQEJAADAgIAEAABgQEACAAAwICABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAIABAQkAAMCAgAQAAGBAQAIAADAgIAEAABgQkAAAAAwISAAAAAYEJAAAAAMCEgAAgAEBCagHJWUVji4BAHAVXBxdANAUubo46cZ5GTpfXOboUlALbT3d9OlTtzm6DAAOREAC6sn54jICUiPl4ebs6BIAOBiP2AAAAAwISAAAAAYEJAAAAAMCEgAAgEGtAtLRo0c1Y8YMxcTE6OTJk5Kkf/7znzpw4ECdFgcAAOAIdgekrVu3Kjg4WDt37tTGjRt1/vx5SdJXX32lpKSkOi8QAADgWrM7ID3zzDN6/vnnlZ6eLldXV2v7HXfcoR07dtRpcQAAAI5gd0D6+uuvNWLEiErtbdu21enTp+ukKAAAAEeyOyD5+PgoLy+vUvuePXvUvn37OikKAADAkewOSGPGjNH06dOVn58vk8mkiooKbd++XU899ZRiY2Pro0YAAIBryu6ANG/ePHXv3l2BgYE6f/68evbsqVtvvVWDBw/WjBkz6qNGAACAa8ru32JzdXXVa6+9ppkzZ2r//v06f/68+vXrp65du9ZHfQAAANdcrX+stkOHDurQoUNd1gIAANAg1Cggmc3mGg+YkpJS62IAAAAaghoFpD179ti8z87OVllZmbp16yZJ+ve//y1nZ2eFhITUfYUAAADXWI0C0ubNm62vU1JS5OnpqTfeeEOtWrWSJP33v/9VXFycbrnllvqpEgAA4Bqy+1NsCxcuVHJysjUcSVKrVq30/PPPa+HChXYXsHTpUgUFBcnd3V2hoaHatWtXtX0PHDig6OhoBQUFyWQyKTU1tVKf5ORkDRw4UJ6enmrbtq2ioqJ05MgRmz633XabTCaTzfboo4/aXTsAAGia7A5IRUVFOnXqVKX2U6dO6ccff7RrrPXr18tsNispKUnZ2dnq06ePIiIirD+Aa3Tx4kV17txZ8+fPl7+/f5V9tm7dqieeeEI7duxQenq6SktLdeedd+rChQs2/eLj45WXl2fdXnzxRbtqBwAATZfdn2IbMWKE4uLitHDhQg0aNEiStHPnTk2bNk0jR460a6yUlBTFx8crLi5OkrRixQp9+OGHWr16tZ555plK/QcOHKiBAwdKUpX7JSktLc3m/euvv662bdsqKytLt956q7W9RYsW1YasqhQXF6u4uNj6vqioqMbHAgCAxsXuGaQVK1Zo2LBhuv/++9WxY0d17NhR999/vyIjI7Vs2bIaj1NSUqKsrCyFh4f/UoyTk8LDw5WZmWlvWdU6d+6cJKl169Y27W+99ZZ8fX3Vq1cvJSYm6uLFi5cdJzk5Wd7e3tYtMDCwzmoEAAANi90zSC1atNCyZcv00ksv6ejRo5KkG264QR4eHnaNc/r0aZWXl8vPz8+m3c/PT4cPH7a3rCpVVFToySef1E033aRevXpZ238OdwEBAdq3b5+mT5+uI0eOaOPGjdWOlZiYaPN1B0VFRYQkAACaqFp/UaSHh4d69+5dl7XUuSeeeEL79+/X559/btM+ceJE6+vg4GC1a9dOQ4cO1dGjR3XDDTdUOZabm5vc3NzqtV4AANAw2B2Qbr/9dplMpmr3f/rppzUax9fXV87OziooKLBpLygosGttUHUSEhL0wQcfaNu2bbr++usv2zc0NFSS9O2331YbkAAAwG+H3WuQ+vbtqz59+li3nj17qqSkRNnZ2QoODq7xOK6urgoJCVFGRoa1raKiQhkZGQoLC7O3LCuLxaKEhAS9++67+vTTT9WpU6crHrN3715JUrt27Wp9XgAA0HTYPYO0aNGiKttnz56t8+fP2zWW2WzWuHHjNGDAAA0aNEipqam6cOGC9VNtsbGxat++vZKTkyX9tLD74MGD1tcnTpzQ3r171bJlS3Xp0kXST4/V1q5dq/fee0+enp7Kz8+XJHl7e6t58+Y6evSo1q5dq7vuuktt2rTRvn37NHXqVN16660N/pEhAAC4Nmq9BsnogQce0KBBg7RgwYIaHzN69GidOnVKs2bNUn5+vvr27au0tDTrwu2cnBw5Of0yyZWbm6t+/fpZ3y9YsEALFizQkCFDtGXLFknS8uXLJf30ZZC/tmbNGj300ENydXXVJ598Yg1jgYGBio6O1owZM2p55QAAoKmps4CUmZkpd3d3u49LSEhQQkJClft+Dj0/CwoKksViuex4V9ofGBiorVu32lUjAAD4bbE7IBm/DNJisSgvL0+7d+/WzJkz66wwAAAAR7E7IHl5edl8is3JyUndunXTnDlzdOedd9ZpcQAAAI5gd0B6/fXX66EMAACAhsPuj/l37txZZ86cqdR+9uxZde7cuU6KAgAAcCS7A9J3332n8vLySu3FxcU6ceJEnRQFAADgSDV+xPaPf/zD+vrjjz+Wt7e39X15ebkyMjIUFBRUp8UBAAA4Qo0DUlRUlCTJZDJp3LhxNvuaNWumoKAgLVy4sE6LAwAAcIQaB6SKigpJUqdOnfTll1/K19e33ooCAABwJLs/xXbs2LH6qAMAAKDBqFFAWrx4sSZOnCh3d3ctXrz4sn0nT55cJ4X9lpWUVcjVxe718wAAoI7UKCAtWrRIY8eOlbu7e7U/Viv9tD6JgHT1XF2cdOO8DJ0vLnN0KaiFtp5u+vSp2xxdBgDgKtQoIP36sRqP2K6N88VlBKRGysPN2dElAACuEs9xAAAADGo0g2Q2m2s8YEpKSq2LAQAAaAhqFJD27NlTo8F+/SO2AAAAjVWNAtLmzZvruw4AAIAG46rWIB0/flzHjx+vq1oAAAAaBLsDUllZmWbOnClvb28FBQUpKChI3t7emjFjhkpLS+ujRgAAgGvK7m/SnjRpkjZu3KgXX3xRYWFhkqTMzEzNnj1bZ86c0fLly+u8SAAAgGvJ7oC0du1arVu3TsOGDbO29e7dW4GBgYqJiSEgAQCARs/uR2xubm4KCgqq1N6pUye5urrWRU0AAAAOZXdASkhI0Ny5c1VcXGxtKy4u1gsvvKCEhIQ6LQ4AAMAR7H7EtmfPHmVkZOj6669Xnz59JElfffWVSkpKNHToUI0cOdLad+PGjXVXKQAAwDVid0Dy8fFRdHS0TVtgYGCdFQQAAOBodgekNWvW1EcdAAAADQY/VgsAAGBg9wzSmTNnNGvWLG3evFknT55URUWFzf7CwsI6Kw4AAMAR7A5IDz74oL799ltNmDBBfn5+/EAtAABocuwOSJ999pk+//xz6yfYAAAAmhq71yB1795d//vf/+qjFgAAgAbB7oC0bNky/fnPf9bWrVt15swZFRUV2WwAAACNXa2+B6moqEh33HGHTbvFYpHJZFJ5eXmdFQcAAOAIdgeksWPHqlmzZlq7di2LtAEAQJNkd0Dav3+/9uzZo27dutVHPQAAAA5n9xqkAQMG6Pjx4/VRCwAAQINg9wzSpEmTNGXKFE2bNk3BwcFq1qyZzf7evXvXWXEAAACOYHdAGj16tCRp/Pjx1jaTycQibQAA0GTY/Yjt2LFjlbb//Oc/1v+119KlSxUUFCR3d3eFhoZq165d1fY9cOCAoqOjFRQUJJPJpNTU1FqNeenSJT3xxBNq06aNWrZsqejoaBUUFNhdOwAAaJrsDkgdO3a87GaP9evXy2w2KykpSdnZ2erTp48iIiJ08uTJKvtfvHhRnTt31vz58+Xv71/rMadOnar3339fGzZs0NatW5Wbm6uRI0faVTsAAGi67H7E9rODBw8qJydHJSUlNu3Dhw+v8RgpKSmKj49XXFycJGnFihX68MMPtXr1aj3zzDOV+g8cOFADBw6UpCr312TMc+fOadWqVVq7dq31u5zWrFmjHj16aMeOHbrxxhtrXD8AAGia7A5I//nPfzRixAh9/fXX1rVHkqzfh1TTNUglJSXKyspSYmKitc3JyUnh4eHKzMy0t6waj5mVlaXS0lKFh4db+3Tv3l0dOnRQZmZmtQGpuLhYxcXF1vd8azgAAE2X3Y/YpkyZok6dOunkyZNq0aKFDhw4oG3btmnAgAHasmVLjcc5ffq0ysvL5efnZ9Pu5+en/Px8e8uq8Zj5+flydXWVj4+PXedNTk6Wt7e3dQsMDKxVjQAAoOGzOyBlZmZqzpw58vX1lZOTk5ycnHTzzTcrOTlZkydPro8aG4TExESdO3fOuvFdUAAANF12B6Ty8nJ5enpKknx9fZWbmyvpp8XbR44cqfE4vr6+cnZ2rvTpsYKCgmoXYNfFmP7+/iopKdHZs2ftOq+bm5u8vLxsNgAA0DTZHZB69eqlr776SpIUGhqqF198Udu3b9ecOXPUuXPnGo/j6uqqkJAQZWRkWNsqKiqUkZGhsLAwe8uq8ZghISFq1qyZTZ8jR44oJyen1ucFAABNi92LtGfMmKELFy5IkubMmaN77rlHt9xyi9q0aaP169fbNZbZbNa4ceM0YMAADRo0SKmpqbpw4YL1E2ixsbFq3769kpOTJf20CPvgwYPW1ydOnNDevXvVsmVLdenSpUZjent7a8KECTKbzWrdurW8vLw0adIkhYWF8Qk2AAAgqRYBKSIiwvq6S5cuOnz4sAoLC9WqVSvrJ9lqavTo0Tp16pRmzZql/Px89e3bV2lpadZF1jk5OXJy+mWSKzc3V/369bO+X7BggRYsWKAhQ4ZYF4hfaUxJWrRokZycnBQdHa3i4mJFRERo2bJl9v4pAABAE1Xr70H6tdatW9f62ISEBCUkJFS5z/ipuKCgIOvXCtR2TElyd3fX0qVLtXTpUrtqBQAAvw12r0ECAABo6ghIAAAABgQkAAAAA7sD0s+fYAMAAGiq7A5Ifn5+Gj9+vD7//PP6qAcAAMDh7A5If/vb31RYWKg77rhDv/vd7zR//nzrt2kDAAA0BXYHpKioKG3atEknTpzQo48+qrVr16pjx4665557tHHjRpWVldVHnQAAANdMrRdpX3fddTKbzdq3b59SUlL0ySef6N5771VAQIBmzZqlixcv1mWdAAAA10ytvyiyoKBAb7zxhl5//XV9//33uvfeezVhwgT98MMP+stf/qIdO3boX//6V13WCgAAcE3YHZA2btyoNWvW6OOPP1bPnj31+OOP64EHHpCPj4+1z+DBg9WjR4+6rBMAAOCasTsgxcXFacyYMdq+fbsGDhxYZZ+AgAD9+c9/vuriAAAAHMHugJSXl6cWLVpctk/z5s2VlJRU66IAAAAcye5F2p6enjp58mSl9jNnzsjZ2blOigIAAHAkuwOSxWKpsr24uFiurq5XXRAAAICj1fgR2+LFiyVJJpNJK1euVMuWLa37ysvLtW3bNnXv3r3uKwQAALjGahyQFi1aJOmnGaQVK1bYPE5zdXVVUFCQVqxYUfcVAgAAXGM1DkjHjh2TJN1+++3auHGjWrVqVW9FAQAAOJLdn2LbvHlzfdQBAADQYNQoIJnNZs2dO1ceHh4ym82X7ZuSklInhQEAADhKjQLSnj17VFpaan1dHZPJVDdVAQAAOFCNAtKvH6vxiA0AADR1dn8PEgAAQFNXoxmkkSNH1njAjRs31roYAACAhqBGAcnb27u+6wAAAGgwahSQ1qxZU991AAAANBisQQIAADCo0QxS//79lZGRoVatWqlfv36X/Th/dnZ2nRUHAADgCDUKSH/84x/l5uYmSYqKiqrPegAAAByuRgEpKSmpytcAAABNkd2/xfaz3bt369ChQ5Kknj17KiQkpM6KAgAAcCS7A9IPP/ygmJgYbd++XT4+PpKks2fPavDgwVq3bp2uv/76uq4RAADgmrL7U2wPP/ywSktLdejQIRUWFqqwsFCHDh1SRUWFHn744fqoEQAA4JqyewZp69at+uKLL9StWzdrW7du3fTKK6/olltuqdPiAAAAHMHuGaTAwECVlpZWai8vL1dAQECdFAUAAOBIdgekl156SZMmTdLu3butbbt379aUKVO0YMGCOi0OAADAEWr0iK1Vq1Y2Xw554cIFhYaGysXlp8PLysrk4uKi8ePH8z1JAACg0atRQEpNTa3nMgAAABqOGgWkcePG1XcdAAAADcZV/Vjt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o/fff19paWnas2ePHn/88RqPvXHjRl1//fWaM2eO8vLylJeXV+NjAVSPR2wA6l1gYKAWLVokk8mkbt266euvv9aiRYsUHx9f7TEPPfSQYmJiJEnz5s3T4sWLtWvXLkVGRqpZs2Z67rnnrH07deqkzMxMvfPOO7rvvvus7R4eHlq5cqXNo7WIiAitWbNGAwcOlPRTaBkyZIg6d+5cZR3Lli1TYGCglixZIpPJpO7duys3N1fTp0/XrFmz5OR05f/O/PkRoo+Pj/z9/W32Xbp0SW+++abat28vSXrllVd09913a+HChZX6VqV169ZydnaWp6dnjfoDqBlmkADUuxtvvNHm0U9YWJi++eYblZeXV3tM7969ra89PDzk5eWlkydPWtuWLl2qkJAQXXfddWrZsqVeffVV5eTk2IwRHBxcad1RfHy83n77bV26dEklJSVau3atxo8fX20dhw4dUlhYmE39N910k86fP68ffvjhyhd/BR06dLCGI+mnv01FRYWOHDly1WMDqD1mkAA0SM2aNbN5bzKZVFFRIUlat26dnnrqKS1cuFBhYWHy9PTUSy+9pJ07d9oc4+HhUWncP/zhD3Jzc9O7774rV1dXlZaW6t57772qWp2cnGzWVElSaWnpVY15LcYGUD0CEoB6ZwwuO3bsUNeuXeXs7Fyr8bZv367BgwfbrNU5evRojY51cXHRuHHjtGbNGrm6umrMmDFq3rx5tf179Oihv//977JYLNZZpO3bt8vT01PXX3+9pJ8eof167U9RUZGOHTtmM06zZs2qnDHLyclRbm6uAgICJP30t3FyclK3bt2qHLu8vFz79+/X7bffbm1zdXW97GwcAPvxiA1AvcvJyZHZbNaRI0f09ttv65VXXtGUKVNqPV7Xrl21e/duffzxx/r3v/+tmTNn2ix8vpKHH35Yn376qdLS0i77eE2SHn/8cR0/flyTJk3S4cOH9d577ykpKUlms9m6/uiOO+7QX//6V3322Wf6+uuvNW7cuErhLygoSBkZGcrPz9d///tfa7u7u7vGjRunr776Sp999pkmT56s++67z7qe6I477tCHH36oDz/8UIcPH9Zjjz2ms2fPVhp727ZtOnHihE6fPl3jvwOA6jGDBKDexcbG6n//+58GDRokZ2dnTZky5aq+GPKRRx7Rnj17NHr0aJlMJsXExOjxxx/XP//5zxod37VrVw0ePFiFhYUKDQ29bN/27dvro48+0rRp09SnTx+1bt1aEyZM0IwZM6x9EhMTdezYMd1zzz3y9vbW3LlzK80gLVy4UGazWa+99prat2+v7777TpLUpUsXjRw5UnfddZcKCwt1zz33aNmyZdbjxo8fr6+++kqxsbFycXHR1KlTbWaPJGnOnDl65JFHdMMNN6i4uLjSIzkA9jNZ+CcJwG+MxWJR165d9fjjj8tsNjusjtmzZ2vTpk3au3evw2oAUDVmkAD8ppw6dUrr1q1Tfn5+td99BAAEJAC/KW3btpWvr69effVVtWrVytHlAGigeMQGAABgwKfYAAAADAhIAAAABgQkAAAAAwISAACAAQEJAADAgIAEAABgQEACAAAwICABAAAY/D9Uj/fJFKdG4QAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot all outputs above probability threshold:\n", "psi.plot_state(probability_threshold=0.1)" ] }, { "cell_type": "code", "execution_count": null, "id": "fc87b4bc", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "0012423e-4419-49ba-8b2f-c304852cc5db", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "source": [ "## Final comments" ] }, { "cell_type": "markdown", "id": "0efde06d", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "Please note that `QuantumState`, while efficient, represents a full statevector simulation that is most efficient for states that can be efficiently described in the computational basis (efficiently meaning not too many basis states). For states that are not necessarily entangled, but require all computational basis states, e.g. the plus state on each qubit (act with Hadmard gate on each qubit). `QuantumState` will keep track a vector of size $2^{n}$. In such cases, alternative python libraries can describe these systems more efficiently if this becomes a bottleneck (e.g. qiskit circuit simulation tools). The goal of `QuantumState` is not to compete with these optimized libraries and has slightly different usage. In fact we find they can be used together, for example getting the statevector out of a qiskit statevector simulation and initalizing a `QuantumState` to perform analysis on." ] }, { "cell_type": "code", "execution_count": 36, "id": "1b4a56c7", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "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ZBhzkAAAoNnxuACdPn1aOTk52rJli8rKyuRwuN/z5cyZMw1ea+TIkTp58qRycnJUUlKigQMHqqCgwLUxuri4WAEB/96nffz4cV1//fWun+fMmaM5c+bolltu0datWyVJX3/9tTIyMnT69Glde+21uvnmm7Vjxw5de+21nh4qAADwUx4XoB//+Mc6fPiwxowZo6ioqEZ/Aeq4ceMue8nrUqm5JC4uTk6n84rrrVmzplF5AACA//O4AP3lL3/Rhx9+6PoEGAAAQEvj8X2A+vTpo3/961++yAIAANAkPC5Ar7/+un7xi19o27ZtOn36tMrLy90eAAAAzd1V3QeovLxct956q9u40+mUxWJRbW2t18IBAAD4gscF6OGHH1arVq20evVqr2yCBgAAaGoeF6ADBw6oqKhIvXv39kUeAAAAn/N4D1BSUpKOHj3qiywAAABNwuMzQOPHj9eECRM0adIk9e/fX61atXJ7PSEhwWvhAAAAfMHjAjRy5EhJ0ujRo11jFouFTdAAAKDF8LgAHTlyxBc5AAAAmozHBahbt26+yAEAANBkrvrb4D/77DMVFxerurrabfzuu+9udCgAAABf8rgA/f3vf9e9996rTz75xLX3R5LrfkDsAQIAAM2dxx+DnzBhgrp3766ysjK1adNGn376qT744AMlJSXV+fZ2AACA5sjjM0CFhYXavHmzIiMjFRAQoICAAN18883Ky8vTU089paKiIl/kBAAA8BqPzwDV1tYqLCxMkhQZGanjx49Lurg5+vPPP/duOgAAAB/w+AxQv379tH//fnXv3l3JycmaPXu2goODtXTpUvXo0cMXGQEAALzK4wI0ZcoUVVZWSpKmT5+uESNGaOjQobrmmmu0du1arwcEAADwNo8LUFpamut5r169dOjQIZ05c0YRERF8MzwAAGgRrvo+QP+pQ4cO3lgGAACgSXi8CRoAAKClowABAADToQABAADT8bgAXfoEGAAAQEvlcQGKiorS6NGj9eGHH/oiDwAAgM95XIB+/etf68yZM7r11lv1ve99T7NmzXLdDRoAAKAl8LgApaena8OGDTp27Jh++tOfavXq1erWrZtGjBih9evXq6amxhc5AQAAvOaqN0Ffe+21stls+vjjj5Wfn6/3339fDzzwgGJiYpSTk6NvvvnGmzkBAAC85qpvhFhaWqpVq1bpzTff1D/+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MB0KEAAAMB0KEAD4ETPc5wjwBj4GDwB+xN/vcyRJHcOs2jzxB0bHQAtHAQIAP+TP9zkKtQYaHQF+gEtgAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdChAAADAdJpFAVq0aJHi4uIUEhKi5ORk7dq164rzf/Ob36hPnz4KCQlR//799ec//9ntdafTqZycHHXq1EmtW7dWamqqvvjiC18eAgAAaEEML0Br166VzWZTbm6u9u7dqwEDBigtLU1lZWX1zv/rX/+qjIwMjRkzRkVFRUpPT1d6eroOHDjgmjN79mwtWLBAS5Ys0c6dOxUaGqq0tDR9++23TXVYAACgGTO8AOXn5+uxxx5Tdna2+vbtqyVLlqhNmzZasWJFvfNfffVVDR8+XJMmTdJ1112nGTNm6IYbbtDChQslXTz7M3/+fE2ZMkX33HOPEhIS9NZbb+n48ePasGFDEx4ZAABoroKM/OXV1dXas2ePJk+e7BoLCAhQamqqCgsL631PYWGhbDab21haWpqr3Bw5ckQlJSVKTU11vR4eHq7k5GQVFhZq1KhRddasqqpSVVWV6+dz585JksrLy6/62L5LiLNKtarx2fpGsTou/rlxfC2Xvx8jx9fy+fsx+vvxhThrffb366V1nU7nd841tACdOnVKtbW1ioqKchuPiorSoUOH6n1PSUlJvfNLSkpcr18au9yc/5aXl6cXXnihznhsbGzDDgQuhySFTzU6he/4+/FJ/n+MHF/L5+/H6O/HJ0nhM3y7/vnz5xUeHn7FOYYWoOZi8uTJbmeVHA6Hzpw5o2uuuUYWi8XAZI1XXl6u2NhYHT16VO3atTM6jtdxfC2fvx+jvx+f5P/HyPG1HE6nU+fPn1dMTMx3zjW0AEVGRiowMFClpaVu46WlpYqOjq73PdHR0Vecf+l/S0tL1alTJ7c5AwcOrHdNq9Uqq9XqNta+fXtPDqXZa9eu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = random_state.plot_state(dpi=100)" ] }, { "cell_type": "code", "execution_count": 37, "id": "d83fc2dc", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "random_large_state = QuantumState.haar_random(10, vec_type='ket')\n", "ax2 = random_large_state.plot_state(logscale=False)" ] }, { "cell_type": "code", "execution_count": 38, "id": "386ecd52", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAGwCAYAAABSN5pGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABFc0lEQVR4nO3de1jUdf7//8cAzqCIoCInRfGUhzyjIlZrJT/RjqR5WktC09pETT65aqtiWmKlaJaHj6VWu5Ha92O2WauLeCrDE2jmITddC1PB0yqBK8f5/dHl1AygjDIziPfbdb2vZV7zmtfzOW7ho/fRYDabzQIAAICFm6sbAAAAqGoISAAAADYISAAAADYISAAAADYISAAAADYISAAAADYISAAAADY8XN3A7aqkpESnT5+Wt7e3DAaDq9sBAAAVYDab9csvvyg4OFhubuXvJyIg3aTTp08rJCTE1W0AAICbcPLkSTVq1Kjc9wlIN8nb21vSr3/AderUcXE3AACgInJychQSEmL5e7w8BKSbdO2wWp06dQhIAADcZm50egwnaQMAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAgHIVFJXcUXWv8XBpdQAAUKUZPdzUY3aqcvOLnFaztslDO1/u7bR6ZSEgAQCA68rNL3JqQKoKOMQGAABgg4AEAABgg4AEAABgg4AEAABgg4AEAABgg4AEAABgw+UBadGiRQoNDZWnp6fCw8O1e/fucuceOnRIAwYMUGhoqAwGgxYsWFBqzrX3bLcxY8ZY5tx///2l3n/++ecd8fUAAMBtyKUBafXq1YqPj1dCQoIyMjLUsWNHRUVF6ezZs2XOv3Llipo1a6Y5c+YoMDCwzDl79uzRmTNnLFtKSookaeDAgVbzRo0aZTXvjTfeqNwvBwAAblsuvVFkUlKSRo0apdjYWEnS0qVL9cUXX2jFihWaPHlyqfndunVTt27dJKnM9yWpQYMGVq/nzJmj5s2bq1evXlbjtWrVKjdklSU/P1/5+fmW1zk5ORX+LAAAuL24bA9SQUGB0tPTFRkZ+Vszbm6KjIxUWlpapdX429/+phEjRshgMFi999FHH8nPz0/t2rXTlClTdOXKleuulZiYKB8fH8sWEhJSKT0CAICqx2V7kM6fP6/i4mIFBARYjQcEBOj777+vlBrr1q3TpUuX9Mwzz1iN//GPf1STJk0UHBysAwcOaNKkSTp69KjWrl1b7lpTpkxRfHy85XVOTg4hCQCAaqpaP4tt+fLl6tevn4KDg63GR48ebfm5ffv2CgoKUu/evXX8+HE1b968zLVMJpNMJpND+wUAAFWDyw6x+fn5yd3dXdnZ2Vbj2dnZdp0bVJ6ffvpJmzZt0rPPPnvDueHh4ZKkY8eO3XJdAABw+3NZQDIajQoLC1NqaqplrKSkRKmpqYqIiLjl9VeuXCl/f389/PDDN5y7f/9+SVJQUNAt1wUAALc/lx5ii4+PV0xMjLp27aru3btrwYIFysvLs1zVNnz4cDVs2FCJiYmSfj3p+vDhw5afT506pf3796t27dpq0aKFZd2SkhKtXLlSMTEx8vCw/orHjx9XcnKyHnroIdWvX18HDhzQhAkT9Ic//EEdOnRw0jcHAABVmUsD0uDBg3Xu3DlNnz5dWVlZ6tSpkzZs2GA5cTszM1Nubr/t5Dp9+rQ6d+5seT137lzNnTtXvXr10tatWy3jmzZtUmZmpkaMGFGqptFo1KZNmyxhLCQkRAMGDNDUqVMd90UBAMBtxWA2m82ubuJ2lJOTIx8fH12+fFl16tRxdTsAADhMu4SNys0vclq92iYPHXwlyiFrV/Tvb5c/agQAAKCqISABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAHAbKCgqcXULdxQPVzcAAABuzOjhph6zU5WbX+S0mv7eJm1+6X6n1atKCEgAANwmcvOLnBqQvEzuTqtV1XCIDQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwIbLA9KiRYsUGhoqT09PhYeHa/fu3eXOPXTokAYMGKDQ0FAZDAYtWLCg1JwZM2bIYDBYba1bt7aac/XqVY0ZM0b169dX7dq1NWDAAGVnZ1f2VwMAALcplwak1atX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fHilPLD8Rt93xowZat26tby8vFS3bl1FRkZq165dDq/7e88//7wMBoMWLFjg8LrPPPNMqX+f+/bte8t1HY2AVA3k5eWpY8eOWrRokVPrbtu2TWPGjNHOnTuVkpKiwsJC9enTR3l5eQ6t26hRI82ZM0fp6enau3evHnzwQT3++OM6dOiQQ+v+3p49e/S///u/6tChg1Pq3X333Tpz5oxl+/rrrx1e8z//+Y/uuece1ahRQ//4xz90+PBhzZs3T3Xr1nVo3T179lh915SUFEnSwIEDHVr39ddf15IlS/TOO+/oyJEjev311/XGG2/o7bffdmhdSXr22WeVkpKiv/71r/ruu+/Up08fRUZG6tSpU5Va50a/K9544w0tXLhQS5cu1a5du+Tl5aWoqChdvXrVoXXz8vJ077336vXXX7+lOvbUvXLlijIyMjRt2jRlZGRo7dq1Onr0qB577DGH1pWku+66S++8846+++47ff311woNDVWfPn107tw5h9a95tNPP9XOnTsr7b5/Fanbt29fq3+vP/7440qp7VDXfVIbbjuSzJ9++qlLap89e9Ysybxt2zan165bt675vffec0qtX375xdyyZUtzSkqKuVevXubx48c7tF5CQoK5Y8eODq1RlkmTJpnvvfdep9e1NX78eHPz5s3NJSUlDq3z8MMPm0eMGGE11r9/f/OwYcMcWvfKlStmd3d38/r1663Gu3TpYv7LX/7isLq2vytKSkrMgYGB5jfffNMydunSJbPJZDJ//PHHDqv7eydOnDBLMu/bt6/S6lWk7jW7d+82SzL/9NNPTq17+fJlsyTzpk2bHF73559/Njds2NB88OBBc5MmTczz58+vtJrl1Y2JiTE//vjjlVrHGdiDhEpz+fJlSVK9evWcVrO4uFirVq1SXl5euY+nqWxjxozRww8/rMjISKfUk6QffvhBwcHBatasmYYNG6bMzEyH1/z73/+url27auDAgfL391fnzp317rvvOrzu7xUUFOhvf/ubRowY4fCHQvfs2VOpqan617/+JUn69ttv9fXXX6tfv34OrVtUVKTi4mKrG9lKUs2aNZ2yp/CaEydOKCsry+qfax8fH4WHhystLc1pfbjS5cuXZTAYnPqczYKCAi1btkw+Pj7q2LGjQ2uVlJTo6aef1sSJE3X33Xc7tJatrVu3yt/fX61atdKf/vQn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qlGjhtVrg8GgkpISSdKqVav00ksvad68eYqIiJC3t7fefPNN7dq1y+ozXl5epdZ99NFHZTKZ9Omnn8poNKqwsFBPPvnkLfXq5uZmdU6VJBUWFt7Sms5YG0D5CEgAHM42uOzcuVMtW7aUu7v7Ta23Y8cO9ezZ0+pcnePHj1fosx4eHoqJidHKlStlNBo1ZMgQ1axZs9z5bdq00f/93//JbDZb9iLt2LFD3t7eatSokaRfD6H9/tyfnJwcnThxwmqdGjVqlLnHLDMzU6dPn1ZwcLCkX/9s3Nzc1KpVqzLXLi4u1sGDB/XAAw9YxoxG43X3xgGwH4fYADhcZmam4uPjdfToUX388cd6++23NX78+Jter2XLltq7d682btyof/3rX5o2bZrVic838uyzz2rz5s3asGHDdQ+vSdILL7ygkydPauzYsfr+++/12WefKSEhQfHx8Zbzjx588EH99a9/1VdffaXvvvtOMTExpcJfaGioUlNTlZWVpf/85z+WcU9PT8XExOjbb7/VV199pXHjxmnQoEGW84kefPBBffHFF/riiy/0/fff609/+pMuXbpUau3t27fr1KlTOn/+fIX/HACUjz1IABxu+PDh+u9//6vu3bvL3d1d48ePv6UbQz733HPat2+fBg8eLIPBoKFDh+qFF17QP/7xjwp9vmXLlurZs6cuXryo8PDw685t2LChvvzyS02cOFEdO3ZUvXr1NHLkSE2dOtUyZ8qUKTpx4oQeeeQR+fj4aNasWaX2IM2bN0/x8fF699131bBhQ/3444+SpBYtWqh///566KGHdPHiRT3yyCNavHix5XMjRozQt99+q+HDh8vDw0MTJkyw2nskSTNnztRzzz2n5s2bKz8/v9QhOQD2M5j5NwnAHcZsNqtly5Z64YUXFB8f77I+ZsyYoXXr1mn//v0u6wFA2diDBOCOcu7cOa1atUpZWVnl3vsIAAhIAO4o/v7+8vPz07Jly1S3bl1XtwOgiuIQGwAAgA2uYgMAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALDx/wNBova6VsxEQwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a = np.arange(2**4)\n", "a = a/np.linalg.norm(a)\n", "psi = QuantumState.from_array(a.reshape([-1,1]))\n", "ax = psi.plot_state()" ] }, { "cell_type": "code", "execution_count": 39, "id": "602b1046", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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/v37NWfOHIWEhJhad/v27UV+13Xr1kmS/vjHP5pa96WXXtKCBQv0+uuv68CBA3rppZf08ssv67XXXjO1riQ99thjWrdund59913t3btX3bt3V7du3XT8+HG31bjR58TLL7+s+fPna+HChdq6dasCAwPVo0cPXb582dS6OTk5uueee/TSSy/dUh1Xa//666/atWuXJk+erF27dmn16tU6ePCg+vbta2pdSbrjjjv0+uuva+/evfruu+8UHR2t7t276+zZs6bWveqjjz7S999/r8jIyFuq50rdnj17Fvl7/f7777ultqkMlEuSjI8++sgrtc+cOWNIMjZu3Ojx2iEhIcaSJUs8UuvSpUtG48aNjXXr1hl/+MMfjLFjx5pab+rUqUZ8fLypNa7lqaeeMu655x6P1/29sWPHGg0bNjQcDoepde6//35jxIgRRcYGDBhgDB061NS6v/76q+Hr62t89tlnRcbvvvtu49lnnzWl5u8/JxwOh1GrVi3jlVdecY5duHDBCAgIMN5//33T6v5Wenq6IcnYvXu32+qVtvZV27ZtMyQZR44c8WjdixcvGpKMr7/+2vS6x44dM2rXrm3s27fPqFevnjF37ly31SypbkJCgvHAAw+4tY4ncEUILrt48aIkqUaNGh6rWVhYqBUrVignJ0ft27f3SM3ExETdf//96tatm0fqSdLPP/+syMhINWjQQEOHDtXRo0dNr/nJJ5+oVatW+uMf/6iwsDDdddddWrx4sel1fysvL0/vvfeeRowYYfrDjTt06KDU1FT99NNPkqQ9e/bou+++U69evUytW1BQoMLCQlWuXLnIeJUqVTxy5U+S0tPTderUqSL/TQcHB6tt27basmWLR3ooCy5evCibzabq1at7rGZeXp4WLVqk4OBgxcfHm1rL4XDokUce0cSJE9W0aVNTa/3eN998o7CwMMXExOjPf/6zzp8/79H6N4OHrsIlDodD48aNU8eOHdWsWTPT6+3du1ft27fX5cuXddttt+mjjz5SbGys6XVXrFihXbt2uX39xvW0bdtWb7/9tmJiYnTy5ElNnz5dnTp10r59+xQUFGRa3X//+99asGCBkpOT9cwzz2j79u0aM2aM/P39lZCQYFrd31qzZo0uXLigRx991PRakyZNUlZWlpo0aSJfX18VFhZq5syZGjp0qKl1g4KC1L59ez3//PO68847FR4ervfff19btmxRo0aNTK191alTpyRJ4eHhRcbDw8Od71V0ly9f1lNPPaUhQ4Z45AGhn332mR566CH9+uuvioiI0Lp16xQaGmpqzZdeekl+fn4aM2aMqXV+r2fPnhowYIDq16+vw4cP65lnnlGvXr20ZcsW+fr6erQXVxCE4JLExETt27fPY/8HGxMTo7S0NF28eFH//Oc/lZCQoI0bN5oahjIyMjR27FitW7eu2P+9m+m3VyTi4uLUtm1b1atXT6tWrdLIkSNNq+twONSqVSvNmjVLknTXXXdp3759WrhwoceC0NKlS9WrVy+3rWW4nlWrVukf//iHli9frqZNmyotLU3jxo1TZGSk6b/vu+++qxEjRqh27dry9fXV3XffrSFDhmjnzp2m1sUV+fn5GjRokAzD0IIFCzxSs0uXLkpLS9O5c+e0ePFiDRo0SFu3blVYWJgp9Xbu3KlXX31Vu3btMv3q6u899NBDzu+bN2+uuLg4NWzYUN98843uvfdej/biCqbGUGpJSUn67LPPtGHDBtWpU8cjNf39/dWoUSO1bNlSs2fPVnx8vF599VVTa+7cuVNnzpzR3XffLT8/P/n5+Wnjxo2aP3++/Pz8VFhYaGr9q6pXr6477rhDhw4dMrVOREREsWB55513emRaTpKOHDmir7/+Wo899phH6k2cOFGTJk3SQw89pObNm+uRRx7R+PHjNXv2bNNrN2zYUBs3blR2drYyMjK0bds25efnq0GDBqbXlqRatWpJkk6fPl1k/PTp0873KqqrIejIkSNat26dR64GSVJgYKAaNWqkdu3aaenSpfLz89PSpUtNq/ftt9/qzJkzqlu3rvPz68iRI/rLX/6i6Oho0+peS4MGDRQaGmr6Z9itIgjhhgzDUFJSkj766COtX79e9evX91ovDodDubm5pta49957tXfvXqWlpTm/WrVqpaFDhyotLc1jl3izs7N1+PBhRUREmFqnY8eOxbZD+Omnn1SvXj1T6161bNkyhYWF6f777/dIvV9//VU+PkU/+nx9feVwODxSX7ryj2NERIR++eUXrV27Vg888IBH6tavX1+1atVSamqqcywrK0tbt2712No7b7gagn7++Wd9/fXXqlmzptd6Mfsz7JFHHtEPP/xQ5PMrMjJSEydO1Nq1a02rey3Hjh3T+fPnTf8Mu1VMjZUj2dnZ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pfT09CLnqVSp0jWvgB09elQnTpxQZGSkpCt/Nj4+PoqJibnmuQsLC7Vv3z516dLFOebv73/dq2sAbg5TYwDc4ujRo0pOTtbBgwf1/vvv67XXXtPYsWNv+nyNGzfWjh07tHbtWv3000+aPHlykQXIN/LYY49p/fr1+vLLL687LSZJTz75pDIyMjR69Gj9+OOP+vjjjzV16lQlJyc71wd17dpV7777rr799lvt3btXCQkJxUJedHS0UlNTderUKf3yyy/O8cqVKyshIUF79uzRt99+qzFjxmjQoEHO9T5du3bV559/rs8//1w//vij/vznP+vChQvFzr1p0yYdP35c586dK/WfA4Dr44oQALcYNmyY/vvf/6pNmzby9fXV2LFjb2kDxccff1y7d+/W4MGDZbPZNGTIED355JP64osvSvXzjRs3VocOHZSZmam2bdte99jatWvrf//3fzVx4kTFx8erRo0aGjlypJ577jnnMU8//bTS09PVu3dvBQcH6/nnny92RWjOnDlKTk7W4sWLVbt2bf3nP/+RJDVq1EgDBgzQfffdp8zMTPXu3VtvvPGG8+dGjBihPXv2aNiwYfLz89P48eOLXA2SpBkzZujxxx9Xw4YNlZubW2wqDcDNsRn8bQJQARmGocaNG+vJJ59UcnKy1/qYNm2a1qxZo7S0NK/1AKBkXBECUOGcPXtWK1as0KlTp0rcOwgAJIIQgAooLCxMoaGhWrRokUJCQrzdDoAyjKkxAABgWdw1BgAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALOv/AxWx1/5b/SI5AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psi.plot_state(logscale=True)" ] }, { "cell_type": "code", "execution_count": 40, "id": "86581630", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAGwCAYAAABSN5pGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8cElEQVR4nO3deViVdf7/8dcBBBRZVBLEUDQdlxE3VMIWK7kCq3FQMiULQ8M21DyTGY2KaYlTimRu33KpZjLNa8ymZWiIXMpQEzRznXIsTBYXRkkdWc/vj36dOjegHAQP0PNxXfc153zuz/253zf3dPXqc3/OOSaLxWIRAAAArJwcXQAAAEBDQ0ACAAAwICABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAICBi6MLaKwqKiqUm5srT09PmUwmR5cDAABqwGKx6Mcff1RAQICcnKqfJyIg1VJubq4CAwMdXQYAAKiF48eP6/rrr692PwGpljw9PSX99Af28vJycDUAAKAmioqKFBgYaP33eHUISLX082M1Ly8vAhIAAI3MlZbHsEgbAADAgIAEAABgQEACAAAwICABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAIABAQkAAMCAgAQAAGBAQAIAADAgIAEAABgQkAAAAAwISAAAAAYEJAAAAAMCEgCgSSopq3B0CbgKjr5/Lg49OwAA9cTVxUk3zsvQ+eIyR5cCO7V0c9GOZ4c6tAYCEgCgyTpfXEZAQq3wiA0AAMCAgAQAAGBAQAIAADAgIAEAABgQkAAAAAwISAAAAAYOD0hLly5VUFCQ3N3dFRoaql27dlXb98CBA4qOjlZQUJBMJpNSU1Mr9fl5n3F74oknrH1uu+22SvsfffTR+rg8AADQCDk0IK1fv15ms1lJSUnKzs5Wnz59FBERoZMnT1bZ/+LFi+rcubPmz58vf3//Kvt8+eWXysvLs27p6emSpFGjRtn0i4+Pt+n34osv1u3FAQCARsuhXxSZkpKi+Ph4xcXFSZJWrFihDz/8UKtXr9YzzzxTqf/AgQM1cOBASapyvyRdd911Nu/nz5+vG264QUOGDLFpb9GiRbUhqyrFxcUqLi62vi8qKqrxsQAAoHFx2AxSSUmJsrKyFB4e/ksxTk4KDw9XZmZmnZ3jb3/7m8aPHy+TyWSz76233pKvr6969eqlxMREXbx48bJjJScny9vb27oFBgbWSY0AAKDhcdgM0unTp1VeXi4/Pz+bdj8/Px0+fLhOzrFp0yadPXtWDz30kE37/fffr44dOyogIED79u3T9OnTdeTIEW3cuLHasRITE2U2m63vi4qKCEkAADRRTfq32FatWqVhw4YpICDApn3ixInW18HBwWrXrp2GDh2qo0eP6oYbbqhyLDc3N7m5udVrvQAAoGFw2CM2X19fOTs7q6CgwKa9oKDArrVB1fn+++/1ySef6OGHH75i39DQUEnSt99+e9XnBQAAjZ/DApKrq6tCQkKUkZFhbauoqFBGRobCwsKuevw1a9aobdu2uvvuu6/Yd+/evZKkdu3aXfV5AQBA4+fQR2xms1njxo3TgAEDNGjQIKWmpurChQvWT7XFxsaqffv2Sk5OlvTTouuDBw9aX584cUJ79+5Vy5Yt1aVLF+u4FRUVWrNmjcaNGycXF9tLPHr0qNauXau77rpLbdq00b59+zR16lTdeuut6t279zW6cgAA0JA5NCCNHj1ap06d0qxZs5Sfn6++ffsqLS3NunA7JydHTk6/THLl5uaqX79+1vcLFizQggULNGTIEG3ZssXa/sknnygnJ0fjx4+vdE5XV1d98skn1jAWGBio6OhozZgxo/4uFAAANComi8VicXQRjVFRUZG8vb117tw5eXl5ObocAEAVeiV9rPPFZY4uA3Zq6eai/c9F1MvYNf33t8N/agQAAKChISABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAIABAQkAAMCAgAQAAGBAQAIAADAgIAEAABgQkAAAAAwISAAAAAYEJAAAAAMCEgAAgAEBCQAAwICABAAAYEBAAgAAMCAgAQAAGBCQAAAADAhIAAAABgQkAAAAAwISAACAAQEJAADAgIAEAABgQEACAAAwICABQBVKyiocXQIAB3JxdAEA0BC5ujjpxnkZOl9c5uhSUAttPd306VO3OboMNGIEJACoxvniMgJSI+Xh5uzoEtDI8YgNAADAgIAEAABgQEACAAAwICABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAIABAQkAAMDA4QFp6dKlCgoKkru7u0JDQ7Vr165q+x44cEDR0dEKCgqSyWRSampqpT6zZ8+WyWSy2bp3727T59KlS3riiSfUpk0btWzZUtHR0SooKKjrSwMAAI2UQwPS+vXr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WKg77rhDv/vd7zR//nzrt2kDAAA0BXYHpKioKG3atEknTpzQo48+qrVr16pjx4665557tHHjRpWVldVHnQAAANdMrRdpX3fddTKbzdq3b59SUlL0ySef6N5771VAQIBmzZqlixcv1mWdAAAA10ytvyiyoKBAb7zxhl5//XV9//33uvfeezVhwgT98MMP+stf/qIdO3boX//6V13WCgAAcE3YHZA2btyoNWvW6OOPP1bPnj31+OOP64EHHpCPj4+1z+DBg9WjR4+6rBMAAOCasTsgxcXFacyYMdq+fbsGDhxYZZ+AgAD9+c9/vuriAAAAHMHugJSXl6cWLVpctk/z5s2VlJRU66IAAAAcye5F2p6enjp58mSl9jNnzsjZ2blOigIAAHAkuwOSxWKpsr24uFiurq5XXRAAAICj1fgR2+LFiyVJJpNJK1euVMuWLa37ysvLtW3bNnXv3r3uKwQAALjGahyQFi1aJOmnGaQVK1bYPE5zdXVVUFCQVqxYUfcVAgAAXGM1DkjHjh2TJN1+++3auHGjWrVqVW9FAQAAOJLdn2LbvHlzfdQBAADQYNQoIJnNZs2dO1ceHh4ym82X7ZuSklInhQEAADhKjQLSnj17VFpaan1dHZPJVDdVAQAAOFCNAtKvH6vxiA0AADR1dn8PEgAAQFNXoxmkkSNH1njAjRs31roYAACAhqBGAcnb27u+6wAAAGgwahSQ1qxZU991AAAANBisQQIAADCo0QxS//79lZGRoVatWqlfv36X/Th/dnZ2nRUHAADgCDUKSH/84x/l5uYmSYqKiqrPegAAAByuRgEpKSmpytcAAABNkd2/xfaz3bt369ChQ5Kknj17KiQkpM6KAgAAcCS7A9IPP/ygmJgYbd++XT4+PpKks2fPavDgwVq3bp2uv/76uq4RAADgmrL7U2wPP/ywSktLdejQIRUWFqqwsFCHDh1SRUWFHn744fqoEQAA4JqyewZp69at+uKLL9StWzdrW7du3fTKK6/olltuqdPiAAAAHMHuGaTAwECVlpZWai8vL1dAQECdFAUAAOBIdgekl156SZMmTdLu3butbbt379aUKVO0YMGCOi0OAADAEWr0iK1Vq1Y2Xw554cIFhYaGysXlp8PLysrk4uKi8ePH8z1JAACg0atRQEpNTa3nMgAAABqOGgWkcePG1XcdAAAADcZV/Vjt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o/fff19paWnas2ePHn/88RqPvXHjRl1//fWaM2eO8vLylJeXV+NjAVSPR2wA6l1gYKAWLVokk8mkbt266euvv9aiRYsUHx9f7TEPPfSQYmJiJEnz5s3T4sWLtWvXLkVGRqpZs2Z67rnnrH07deqkzMxMvfPOO7rvvvus7R4eHlq5cqXNo7WIiAitWbNGAwcOlPRTaBkyZIg6d+5cZR3Lli1TYGCglixZIpPJpO7duys3N1fTp0/XrFmz5OR05f/O/PkRoo+Pj/z9/W32Xbp0SW+++abat28vSXrllVd09913a+HChZX6VqV169ZydnaWp6dnjfoDqBlmkADUuxtvvNHm0U9YWJi++eYblZeXV3tM7969ra89PDzk5eWlkydPWtuWLl2qkJAQXXfddWrZsqVeffVV5eTk2IwRHBxcad1RfHy83n77bV26dEklJSVau3atxo8fX20dhw4dUlhYmE39N910k86fP68ffvjhyhd/BR06dLCGI+mnv01FRYWOHDly1WMDqD1mkAA0SM2aNbN5bzKZVFFRIUlat26dnnrqKS1cuFBhYWHy9PTUSy+9pJ07d9oc4+HhUWncP/zhD3Jzc9O7774rV1dXlZaW6t57772qWp2cnGzWVElSaWnpVY15LcYGUD0CEoB6ZwwuO3bsUNeuXeXs7Fyr8bZv367BgwfbrNU5evRojY51cXHRuHHjtGbNGrm6umrMmDFq3rx5tf179Oihv//977JYLNZZpO3bt8vT01PXX3+9pJ8eof167U9RUZGOHTtmM06zZs2qnDHLyclRbm6uAgICJP30t3FyclK3bt2qHLu8vFz79+/X7bffbm1zdXW97GwcAPvxiA1AvcvJyZHZbNaRI0f09ttv65VXXtGUKVNqPV7Xrl21e/duffzxx/r3v/+tmTNn2ix8vpKHH35Yn376qdLS0i77eE2SHn/8cR0/flyTJk3S4cOH9d577ykpKUlms9m6/uiOO+7QX//6V3322Wf6+uuvNW7cuErhLygoSBkZGcrPz9d///tfa7u7u7vGjRunr776Sp999pkmT56s++67z7qe6I477tCHH36oDz/8UIcPH9Zjjz2ms2fPVhp727ZtOnHihE6fPl3jvwOA6jGDBKDexcbG6n//+58GDRokZ2dnTZky5aq+GPKRRx7Rnj17NHr0aJlMJsXExOjxxx/XP//5zxod37VrVw0ePFiFhYUKDQ29bN/27dvro48+0rRp09SnTx+1bt1aEyZM0IwZM6x9EhMTdezYMd1zzz3y9vbW3LlzK80gLVy4UGazWa+99prat2+v7777TpLUpUsXjRw5UnfddZcKCwt1zz33aNmyZdbjxo8fr6+++kqxsbFycXHR1KlTbWaPJGnOnDl65JFHdMMNN6i4uLjSIzkA9jNZ+CcJwG+MxWJR165d9fjjj8tsNjusjtmzZ2vTpk3au3evw2oAUDVmkAD8ppw6dUrr1q1Tfn5+td99BAAEJAC/KW3btpWvr69effVVtWrVytHlAGigeMQGAABgwKfYAAAADAhIAAAABgQkAAAAAwISAACAAQEJAADAgIAEAABgQEACAAAwICABAAAY/D9Uj/fJFKdG4QAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psi.plot_state(probability_threshold=0.1)" ] }, { "cell_type": "code", "execution_count": null, "id": "bb0532f8", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 41, "id": "843f0bdf", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "## Final comments" ] }, { "cell_type": "markdown", "id": "f9d7c21e", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%% md\n" } }, "source": [ "Please note that `QuantumState`, while efficient, represents a full statevector simulation that is most efficient for states that can be efficiently described in the computational basis (efficiently meaning not too many basis states). For states that are not necessarily entangled, but require all computational basis states, e.g. the plus state on each qubit (act with Hadmard gate on each qubit). `QuantumState` will keep track a vector of size $2^{n}$. In such cases, alternative python libraries can describe these systems more efficiently if this becomes a bottleneck (e.g. qiskit circuit simulation tools). The goal of `QuantumState` is not to compete with these optimized libraries and has slightly different usage. In fact we find they can be used together, for example getting the statevector out of a qiskit statevector simulation and initalizing a `QuantumState` to perform analysis on." ] }, { "cell_type": "code", "execution_count": 42, "id": "267f7600", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "random_large_state = QuantumState.haar_random(10, vec_type='ket')\n", "ax2 = random_large_state.plot_state(logscale=False)" ] }, { "cell_type": "code", "execution_count": 43, "id": "47ba9923", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAGwCAYAAABSN5pGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABFc0lEQVR4nO3de1jUdf7//8cAzqCIoCInRfGUhzyjIlZrJT/RjqR5WktC09pETT65aqtiWmKlaJaHj6VWu5Ha92O2WauLeCrDE2jmITddC1PB0yqBK8f5/dHl1AygjDIziPfbdb2vZV7zmtfzOW7ho/fRYDabzQIAAICFm6sbAAAAqGoISAAAADYISAAAADYISAAAADYISAAAADYISAAAADYISAAAADY8XN3A7aqkpESnT5+Wt7e3DAaDq9sBAAAVYDab9csvvyg4OFhubuXvJyIg3aTTp08rJCTE1W0AAICbcPLkSTVq1Kjc9wlIN8nb21vSr3/AderUcXE3AACgInJychQSEmL5e7w8BKSbdO2wWp06dQhIAADcZm50egwnaQMAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAANggIAEAgHIVFJXcUXWv8XBpdQAAUKUZPdzUY3aqcvOLnFaztslDO1/u7bR6ZSEgAQCA68rNL3JqQKoKOMQGAABgg4AEAABgg4AEAABgg4AEAABgg4AEAABgg4AEAABgw+UBadGiRQoNDZWnp6fCw8O1e/fucuceOnRIAwYMUGhoqAwGgxYsWFBqzrX3bLcxY8ZY5tx///2l3n/++ecd8fUAAMBtyKUBafXq1YqPj1dCQoIyMjLUsWNHRUVF6ezZs2XOv3Llipo1a6Y5c+YoMDCwzDl79uzRmTNnLFtKSookaeDAgVbzRo0aZTXvjTfeqNwvBwAAblsuvVFkUlKSRo0apdjYWEnS0qVL9cUXX2jFihWaPHlyqfndunVTt27dJKnM9yWpQYMGVq/nzJmj5s2bq1evXlbjtWrVKjdklSU/P1/5+fmW1zk5ORX+LAAAuL24bA9SQUGB0tPTFRkZ+Vszbm6KjIxUWlpapdX429/+phEjRshgMFi999FHH8nPz0/t2rXTlClTdOXKleuulZiYKB8fH8sWEhJSKT0CAICqx2V7kM6fP6/i4mIFBARYjQcEBOj777+vlBrr1q3TpUuX9Mwzz1iN//GPf1STJk0UHBysAwcOaNKkSTp69KjWrl1b7lpTpkxRfHy85XVOTg4hCQCAaqpaP4tt+fLl6tevn4KDg63GR48ebfm5ffv2CgoKUu/evXX8+HE1b968zLVMJpNMJpND+wUAAFWDyw6x+fn5yd3dXdnZ2Vbj2dnZdp0bVJ6ffvpJmzZt0rPPPnvDueHh4ZKkY8eO3XJdAABw+3NZQDIajQoLC1NqaqplrKSkRKmpqYqIiLjl9VeuXCl/f389/PDDN5y7f/9+SVJQUNAt1wUAALc/lx5ii4+PV0xMjLp27aru3btrwYIFysvLs1zVNnz4cDVs2FCJiYmSfj3p+vDhw5afT506pf3796t27dpq0aKFZd2SkhKtXLlSMTEx8vCw/orHjx9XcnKyHnroIdWvX18HDhzQhAkT9Ic//EEdOnRw0jcHAABVmUsD0uDBg3Xu3DlNnz5dWVlZ6tSpkzZs2GA5cTszM1Nubr/t5Dp9+rQ6d+5seT137lzNnTtXvXr10tatWy3jmzZtUmZmpkaMGFGqptFo1KZNmyxhLCQkRAMGDNDUqVMd90UBAMBtxWA2m82ubuJ2lJOTIx8fH12+fFl16tRxdTsAADhMu4SNys0vclq92iYPHXwlyiFrV/Tvb5c/agQAAKCqISABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAADYICABAHAbKCgqcXULdxQPVzcAAABuzOjhph6zU5WbX+S0mv7eJm1+6X6n1atKCEgAANwmcvOLnBqQvEzuTqtV1XCIDQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwAYBCQAAwIbLA9KiRYsUGhoqT09PhYeHa/fu3eXOPXTokAYMGKDQ0FAZDAYtWLCg1JwZM2bIYDBYba1bt7aac/XqVY0ZM0b169dX7dq1NWDAAGVnZ1f2VwMAALcplwak1atX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fHilPLD8Rt93xowZat26tby8vFS3bl1FRkZq165dDq/7e88//7wMBoMWLFjg8LrPPPNMqX+f+/bte8t1HY2AVA3k5eWpY8eOWrRokVPrbtu2TWPGjNHOnTuVkpKiwsJC9enTR3l5eQ6t26hRI82ZM0fp6enau3evHnzwQT3++OM6dOiQQ+v+3p49e/S///u/6tChg1Pq3X333Tpz5oxl+/rrrx1e8z//+Y/uuece1ahRQ//4xz90+PBhzZs3T3Xr1nVo3T179lh915SUFEnSwIEDHVr39ddf15IlS/TOO+/oyJEjev311/XGG2/o7bffdmhdSXr22WeVkpKiv/71r/ruu+/Up08fRUZG6tSpU5Va50a/K9544w0tXLhQS5cu1a5du+Tl5aWoqChdvXrVoXXz8vJ077336vXXX7+lOvbUvXLlijIyMjRt2jRlZGRo7dq1Onr0qB577DGH1pWku+66S++8846+++47ff311woNDVWfPn107tw5h9a95tNPP9XOnTsr7b5/Fanbt29fq3+vP/7440qp7VDXfVIbbjuSzJ9++qlLap89e9Ysybxt2zan165bt675vffec0qtX375xdyyZUtzSkqKuVevXubx48c7tF5CQoK5Y8eODq1RlkmTJpnvvfdep9e1NX78eHPz5s3NJSUlDq3z8MMPm0eMGGE11r9/f/OwYcMcWvfKlStmd3d38/r1663Gu3TpYv7LX/7isLq2vytKSkrMgYGB5jfffNMydunSJbPJZDJ//PHHDqv7eydOnDBLMu/bt6/S6lWk7jW7d+82SzL/9NNPTq17+fJlsyTzpk2bHF73559/Njds2NB88OBBc5MmTczz58+vtJrl1Y2JiTE//vjjlVrHGdiDhEpz+fJlSVK9evWcVrO4uFirVq1SXl5euY+nqWxjxozRww8/rMjISKfUk6QffvhBwcHBatasmYYNG6bMzEyH1/z73/+url27auDAgfL391fnzp317rvvOrzu7xUUFOhvf/ubRowY4fCHQvfs2VOpqan617/+JUn69ttv9fXXX6tfv34OrVtUVKTi4mKrG9lKUs2aNZ2yp/CaEydOKCsry+qfax8fH4WHhystLc1pfbjS5cuXZTAYnPqczYKCAi1btkw+Pj7q2LGjQ2uVlJTo6aef1sSJE3X33Xc7tJatrVu3yt/fX61atdKf/vQn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qlGjhtVrg8GgkpISSdKqVav00ksvad68eYqIiJC3t7fefPNN7dq1y+ozXl5epdZ99NFHZTKZ9Omnn8poNKqwsFBPPvnkLfXq5uZmdU6VJBUWFt7Sms5YG0D5CEgAHM42uOzcuVMtW7aUu7v7Ta23Y8cO9ezZ0+pcnePHj1fosx4eHoqJidHKlStlNBo1ZMgQ1axZs9z5bdq00f/93//JbDZb9iLt2LFD3t7eatSokaRfD6H9/tyfnJwcnThxwmqdGjVqlLnHLDMzU6dPn1ZwcLCkX/9s3Nzc1KpVqzLXLi4u1sGDB/XAAw9YxoxG43X3xgGwH4fYADhcZmam4uPjdfToUX388cd6++23NX78+Jter2XLltq7d682btyof/3rX5o2bZrVic838uyzz2rz5s3asGHDdQ+vSdILL7ygkydPauzYsfr+++/12WefKSEhQfHx8Zbzjx588EH99a9/1VdffaXvvvtOMTExpcJfaGioUlNTlZWVpf/85z+WcU9PT8XExOjbb7/VV199pXHjxmnQoEGW84kefPBBffHFF/riiy/0/fff609/+pMuXbpUau3t27fr1KlTOn/+fIX/HACUjz1IABxu+PDh+u9//6vu3bvL3d1d48ePv6UbQz733HPat2+fBg8eLIPBoKFDh+qFF17QP/7xjwp9vmXLlurZs6cuXryo8PDw685t2LChvvzyS02cOFEdO3ZUvXr1NHLkSE2dOtUyZ8qUKTpx4oQeeeQR+fj4aNasWaX2IM2bN0/x8fF699131bBhQ/3444+SpBYtWqh///566KGHdPHiRT3yyCNavHix5XMjRozQt99+q+HDh8vDw0MTJkyw2nskSTNnztRzzz2n5s2bKz8/v9QhOQD2M5j5NwnAHcZsNqtly5Z64YUXFB8f77I+ZsyYoXXr1mn//v0u6wFA2diDBOCOcu7cOa1atUpZWVnl3vsIAAhIAO4o/v7+8vPz07Jly1S3bl1XtwOgiuIQGwAAgA2uYgMAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALBBQAIAALDx/wNBova6VsxEQwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a = np.arange(2**4)\n", "a = a/np.linalg.norm(a)\n", "psi = QuantumState.from_array(a.reshape([-1,1]))\n", "ax = psi.plot_state()" ] }, { "cell_type": "code", "execution_count": 44, "id": "da477775", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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/v37NWfOHIWEhJhad/v27UV+13Xr1kmS/vjHP5pa96WXXtKCBQv0+uuv68CBA3rppZf08ssv67XXXjO1riQ99thjWrdund59913t3btX3bt3V7du3XT8+HG31bjR58TLL7+s+fPna+HChdq6dasCAwPVo0cPXb582dS6OTk5uueee/TSSy/dUh1Xa//666/atWuXJk+erF27dmn16tU6ePCg+vbta2pdSbrjjjv0+uuva+/evfruu+8UHR2t7t276+zZs6bWveqjjz7S999/r8jIyFuq50rdnj17Fvl7/f7777ultqkMlEuSjI8++sgrtc+cOWNIMjZu3Ojx2iEhIcaSJUs8UuvSpUtG48aNjXXr1hl/+MMfjLFjx5pab+rUqUZ8fLypNa7lqaeeMu655x6P1/29sWPHGg0bNjQcDoepde6//35jxIgRRcYGDBhgDB061NS6v/76q+Hr62t89tlnRcbvvvtu49lnnzWl5u8/JxwOh1GrVi3jlVdecY5duHDBCAgIMN5//33T6v5Wenq6IcnYvXu32+qVtvZV27ZtMyQZR44c8WjdixcvGpKMr7/+2vS6x44dM2rXrm3s27fPqFevnjF37ly31SypbkJCgvHAAw+4tY4ncEUILrt48aIkqUaNGh6rWVhYqBUrVignJ0ft27f3SM3ExETdf//96tatm0fqSdLPP/+syMhINWjQQEOHDtXRo0dNr/nJJ5+oVatW+uMf/6iwsDDdddddWrx4sel1fysvL0/vvfeeRowYYfrDjTt06KDU1FT99NNPkqQ9e/bou+++U69evUytW1BQoMLCQlWuXLnIeJUqVTxy5U+S0tPTderUqSL/TQcHB6tt27basmWLR3ooCy5evCibzabq1at7rGZeXp4WLVqk4OBgxcfHm1rL4XDokUce0cSJE9W0aVNTa/3eN998o7CwMMXExOjPf/6zzp8/79H6N4OHrsIlDodD48aNU8eOHdWsWTPT6+3du1ft27fX5cuXddttt+mjjz5SbGys6XVXrFihXbt2uX39xvW0bdtWb7/9tmJiYnTy5ElNnz5dnTp10r59+xQUFGRa3X//+99asGCBkpOT9cwzz2j79u0aM2aM/P39lZCQYFrd31qzZo0uXLigRx991PRakyZNUlZWlpo0aSJfX18VFhZq5syZGjp0qKl1g4KC1L59ez3//PO68847FR4ervfff19btmxRo0aNTK191alTpyRJ4eHhRcbDw8Od71V0ly9f1lNPPaUhQ4Z45AGhn332mR566CH9+uuvioiI0Lp16xQaGmpqzZdeekl+fn4aM2aMqXV+r2fPnhowYIDq16+vw4cP65lnnlGvXr20ZcsW+fr6erQXVxCE4JLExETt27fPY/8HGxMTo7S0NF28eFH//Oc/lZCQoI0bN5oahjIyMjR27FitW7eu2P+9m+m3VyTi4uLUtm1b1atXT6tWrdLIkSNNq+twONSqVSvNmjVLknTXXXdp3759WrhwoceC0NKlS9WrVy+3rWW4nlWrVukf//iHli9frqZNmyotLU3jxo1TZGSk6b/vu+++qxEjRqh27dry9fXV3XffrSFDhmjnzp2m1sUV+fn5GjRokAzD0IIFCzxSs0uXLkpLS9O5c+e0ePFiDRo0SFu3blVYWJgp9Xbu3KlXX31Vu3btMv3q6u899NBDzu+bN2+uuLg4NWzYUN98843uvfdej/biCqbGUGpJSUn67LPPtGHDBtWpU8cjNf39/dWoUSO1bNlSs2fPVnx8vF599VVTa+7cuVNnzpzR3XffLT8/P/n5+Wnjxo2aP3++/Pz8VFhYaGr9q6pXr6477rhDhw4dMrVOREREsWB55513emRaTpKOHDmir7/+Wo899phH6k2cOFGTJk3SQw89pObNm+uRRx7R+PHjNXv2bNNrN2zYUBs3blR2drYyMjK0bds25efnq0GDBqbXlqRatWpJkk6fPl1k/PTp0873KqqrIejIkSNat26dR64GSVJgYKAaNWqkdu3aaenSpfLz89PSpUtNq/ftt9/qzJkzqlu3rvPz68iRI/rLX/6i6Oho0+peS4MGDRQaGmr6Z9itIgjhhgzDUFJSkj766COtX79e9evX91ovDodDubm5pta49957tXfvXqWlpTm/WrVqpaFDhyotLc1jl3izs7N1+PBhRUREmFqnY8eOxbZD+Omnn1SvXj1T6161bNkyhYWF6f777/dIvV9//VU+PkU/+nx9feVwODxSX7ryj2NERIR++eUXrV27Vg888IBH6tavX1+1atVSamqqcywrK0tbt2712No7b7gagn7++Wd9/fXXqlmzptd6Mfsz7JFHHtEPP/xQ5PMrMjJSEydO1Nq1a02rey3Hjh3T+fPnTf8Mu1VMjZUj2dnZ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pfT09CLnqVSp0jWvgB09elQnTpxQZGSkpCt/Nj4+PoqJibnmuQsLC7Vv3z516dLFOebv73/dq2sAbg5TYwDc4ujRo0pOTtbBgwf1/vvv67XXXtPYsWNv+nyNGzfWjh07tHbtWv3000+aPHlykQXIN/LYY49p/fr1+vLLL687LSZJTz75pDIyMjR69Gj9+OOP+vjjjzV16lQlJyc71wd17dpV7777rr799lvt3btXCQkJxUJedHS0UlNTderUKf3yyy/O8cqVKyshIUF79uzRt99+qzFjxmjQoEHO9T5du3bV559/rs8//1w//vij/vznP+vChQvFzr1p0yYdP35c586dK/WfA4Dr44oQALcYNmyY/vvf/6pNmzby9fXV2LFjb2kDxccff1y7d+/W4MGDZbPZNGTIED355JP64osvSvXzjRs3VocOHZSZmam2bdte99jatWvrf//3fzVx4kTFx8erRo0aGjlypJ577jnnMU8//bTS09PVu3dvBQcH6/nnny92RWjOnDlKTk7W4sWLVbt2bf3nP/+RJDVq1EgDBgzQfffdp8zMTPXu3VtvvPGG8+dGjBihPXv2aNiwYfLz89P48eOLXA2SpBkzZujxxx9Xw4YNlZubW2wqDcDNsRn8bQJQARmGocaNG+vJJ59UcnKy1/qYNm2a1qxZo7S0NK/1AKBkXBECUOGcPXtWK1as0KlTp0rcOwgAJIIQgAooLCxMoaGhWrRokUJCQrzdDoAyjKkxAABgWdw1BgAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALIsgBAAALOv/AxWx1/5b/SI5AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psi.plot_state(logscale=True)" ] }, { "cell_type": "code", "execution_count": 45, "id": "057c57e0", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAGwCAYAAABSN5pGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8cElEQVR4nO3deViVdf7/8dcBBBRZVBLEUDQdlxE3VMIWK7kCq3FQMiULQ8M21DyTGY2KaYlTimRu33KpZjLNa8ymZWiIXMpQEzRznXIsTBYXRkkdWc/vj36dOjegHAQP0PNxXfc153zuz/253zf3dPXqc3/OOSaLxWIRAAAArJwcXQAAAEBDQ0ACAAAwICABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAICBi6MLaKwqKiqUm5srT09PmUwmR5cDAABqwGKx6Mcff1RAQICcnKqfJyIg1VJubq4CAwMdXQYAAKiF48eP6/rrr692PwGpljw9PSX99Af28vJycDUAAKAmioqKFBgYaP33eHUISLX082M1Ly8vAhIAAI3MlZbHsEgbAADAgIAEAABgQEACAAAwICABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAIABAQkAAMCAgAQAAGBAQAIAADAgIAEAABgQkAAAAAwISAAAAAYEJAAAAAMCEgCgSSopq3B0CbgKjr5/Lg49OwAA9cTVxUk3zsvQ+eIyR5cCO7V0c9GOZ4c6tAYCEgCgyTpfXEZAQq3wiA0AAMCAgAQAAGBAQAIAADAgIAEAABgQkAAAAAwISAAAAAYOD0hLly5VUFCQ3N3dFRoaql27dlXb98CBA4qOjlZQUJBMJpNSU1Mr9fl5n3F74oknrH1uu+22SvsfffTR+rg8AADQCDk0IK1fv15ms1lJSUnKzs5Wnz59FBERoZMnT1bZ/+LFi+rcubPmz58vf3//Kvt8+eWXysvLs27p6emSpFGjRtn0i4+Pt+n34osv1u3FAQCARsuhXxSZkpKi+Ph4xcXFSZJWrFihDz/8UKtXr9YzzzxTqf/AgQM1cOBASapyvyRdd911Nu/nz5+vG264QUOGDLFpb9GiRbUhqyrFxcUqLi62vi8qKqrxsQAAoHFx2AxSSUmJsrKyFB4e/ksxTk4KDw9XZmZmnZ3jb3/7m8aPHy+TyWSz76233pKvr6969eqlxMREXbx48bJjJScny9vb27oFBgbWSY0AAKDhcdgM0unTp1VeXi4/Pz+bdj8/Px0+fLhOzrFp0yadPXtWDz30kE37/fffr44dOyogIED79u3T9OnTdeTIEW3cuLHasRITE2U2m63vi4qKCEkAADRRTfq32FatWqVhw4YpICDApn3ixInW18HBwWrXrp2GDh2qo0eP6oYbbqhyLDc3N7m5udVrvQAAoGFw2CM2X19fOTs7q6CgwKa9oKDArrVB1fn+++/1ySef6OGHH75i39DQUEnSt99+e9XnBQAAjZ/DApKrq6tCQkKUkZFhbauoqFBGRobCwsKuevw1a9aobdu2uvvuu6/Yd+/evZKkdu3aXfV5AQBA4+fQR2xms1njxo3TgAEDNGjQIKWmpurChQvWT7XFxsaqffv2Sk5OlvTTouuDBw9aX584cUJ79+5Vy5Yt1aVLF+u4FRUVWrNmjcaNGycXF9tLPHr0qNauXau77rpLbdq00b59+zR16lTdeuut6t279zW6cgAA0JA5NCCNHj1ap06d0qxZs5Sfn6++ffsqLS3NunA7JydHTk6/THLl5uaqX79+1vcLFizQggULNGTIEG3ZssXa/sknnygnJ0fjx4+vdE5XV1d98skn1jAWGBio6OhozZgxo/4uFAAANComi8VicXQRjVFRUZG8vb117tw5eXl5ObocAEAVeiV9rPPFZY4uA3Zq6eai/c9F1MvYNf33t8N/agQAAKChISABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAIABAQkAAMCAgAQAAGBAQAIAADAgIAEAABgQkAAAAAwISAAAAAYEJAAAAAMCEgAAgAEBCQAAwICABAAAYEBAAgAAMCAgAQAAGBCQAAAADAhIAAAABgQkAAAAAwISAACAAQEJAADAgIAEAABgQEACAAAwICABQBVKyiocXQIAB3JxdAEA0BC5ujjpxnkZOl9c5uhSUAttPd306VO3OboMNGIEJACoxvniMgJSI+Xh5uzoEtDI8YgNAADAgIAEAABgQEACAAAwICABAAAYEJAAAAAMCEgAAAAGBCQAAAADAhIAAIABAQkAAMDA4QFp6dKlCgoKkru7u0JDQ7Vr165q+x44cEDR0dEKCgqSyWRSampqpT6zZ8+WyWSy2bp3727T59KlS3riiSfUpk0btWzZUtHR0SooKKjrSwMAAI2UQwPS+vXr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WKg77rhDv/vd7zR//nzrt2kDAAA0BXYHpKioKG3atEknTpzQo48+qrVr16pjx4665557tHHjRpWVldVHnQAAANdMrRdpX3fddTKbzdq3b59SUlL0ySef6N5771VAQIBmzZqlixcv1mWdAAAA10ytvyiyoKBAb7zxhl5//XV9//33uvfeezVhwgT98MMP+stf/qIdO3boX//6V13WCgAAcE3YHZA2btyoNWvW6OOPP1bPnj31+OOP64EHHpCPj4+1z+DBg9WjR4+6rBMAAOCasTsgxcXFacyYMdq+fbsGDhxYZZ+AgAD9+c9/vuriAAAAHMHugJSXl6cWLVpctk/z5s2VlJRU66IAAAAcye5F2p6enjp58mSl9jNnzsjZ2blOigIAAHAkuwOSxWKpsr24uFiurq5XXRAAAICj1fgR2+LFiyVJJpNJK1euVMuWLa37ysvLtW3bNnXv3r3uKwQAALjGahyQFi1aJOmnGaQVK1bYPE5zdXVVUFCQVqxYUfcVAgAAXGM1DkjHjh2TJN1+++3auHGjWrVqVW9FAQAAOJLdn2LbvHlzfdQBAADQYNQoIJnNZs2dO1ceHh4ym82X7ZuSklInhQEAADhKjQLSnj17VFpaan1dHZPJVDdVAQAAOFCNAtKvH6vxiA0AADR1dn8PEgAAQFNXoxmkkSNH1njAjRs31roYAACAhqBGAcnb27u+6wAAAGgwahSQ1qxZU991AAAANBisQQIAADCo0QxS//79lZGRoVatWqlfv36X/Th/dnZ2nRUHAADgCDUKSH/84x/l5uYmSYqKiqrPegAAAByuRgEpKSmpytcAAABNkd2/xfaz3bt369ChQ5Kknj17KiQkpM6KAgAAcCS7A9IPP/ygmJgYbd++XT4+PpKks2fPavDgwVq3bp2uv/76uq4RAADgmrL7U2wPP/ywSktLdejQIRUWFqqwsFCHDh1SRUWFHn744fqoEQAA4JqyewZp69at+uKLL9StWzdrW7du3fTKK6/olltuqdPiAAAAHMHuGaTAwECVlpZWai8vL1dAQECdFAUAAOBIdgekl156SZMmTdLu3butbbt379aUKVO0YMGCOi0OAADAEWr0iK1Vq1Y2Xw554cIFhYaGysXlp8PLysrk4uKi8ePH8z1JAACg0atRQEpNTa3nMgAAABqOGgWkcePG1XcdAAAADcZV/Vjt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o/fff19paWnas2ePHn/88RqPvXHjRl1//fWaM2eO8vLylJeXV+NjAVSPR2wA6l1gYKAWLVokk8mkbt266euvv9aiRYsUHx9f7TEPPfSQYmJiJEnz5s3T4sWLtWvXLkVGRqpZs2Z67rnnrH07deqkzMxMvfPOO7rvvvus7R4eHlq5cqXNo7WIiAitWbNGAwcOlPRTaBkyZIg6d+5cZR3Lli1TYGCglixZIpPJpO7duys3N1fTp0/XrFmz5OR05f/O/PkRoo+Pj/z9/W32Xbp0SW+++abat28vSXrllVd09913a+HChZX6VqV169ZydnaWp6dnjfoDqBlmkADUuxtvvNHm0U9YWJi++eYblZeXV3tM7969ra89PDzk5eWlkydPWtuWLl2qkJAQXXfddWrZsqVeffVV5eTk2IwRHBxcad1RfHy83n77bV26dEklJSVau3atxo8fX20dhw4dUlhYmE39N910k86fP68ffvjhyhd/BR06dLCGI+mnv01FRYWOHDly1WMDqD1mkAA0SM2aNbN5bzKZVFFRIUlat26dnnrqKS1cuFBhYWHy9PTUSy+9pJ07d9oc4+HhUWncP/zhD3Jzc9O7774rV1dXlZaW6t57772qWp2cnGzWVElSaWnpVY15LcYGUD0CEoB6ZwwuO3bsUNeuXeXs7Fyr8bZv367BgwfbrNU5evRojY51cXHRuHHjtGbNGrm6umrMmDFq3rx5tf179Oihv//977JYLNZZpO3bt8vT01PXX3+9pJ8eof167U9RUZGOHTtmM06zZs2qnDHLyclRbm6uAgICJP30t3FyclK3bt2qHLu8vFz79+/X7bffbm1zdXW97GwcAPvxiA1AvcvJyZHZbNaRI0f09ttv65VXXtGUKVNqPV7Xrl21e/duffzxx/r3v/+tmTNn2ix8vpKHH35Yn376qdLS0i77eE2SHn/8cR0/flyTJk3S4cOH9d577ykpKUlms9m6/uiOO+7QX//6V3322Wf6+uuvNW7cuErhLygoSBkZGcrPz9d///tfa7u7u7vGjRunr776Sp999pkmT56s++67z7qe6I477tCHH36oDz/8UIcPH9Zjjz2ms2fPVhp727ZtOnHihE6fPl3jvwOA6jGDBKDexcbG6n//+58GDRokZ2dnTZky5aq+GPKRRx7Rnj17NHr0aJlMJsXExOjxxx/XP//5zxod37VrVw0ePFiFhYUKDQ29bN/27dvro48+0rRp09SnTx+1bt1aEyZM0IwZM6x9EhMTdezYMd1zzz3y9vbW3LlzK80gLVy4UGazWa+99prat2+v7777TpLUpUsXjRw5UnfddZcKCwt1zz33aNmyZdbjxo8fr6+++kqxsbFycXHR1KlTbWaPJGnOnDl65JFHdMMNN6i4uLjSIzkA9jNZ+CcJwG+MxWJR165d9fjjj8tsNjusjtmzZ2vTpk3au3evw2oAUDVmkAD8ppw6dUrr1q1Tfn5+td99BAAEJAC/KW3btpWvr69effVVtWrVytHlAGigeMQGAABgwKfYAAAADAhIAAAABgQkAAAAAwISAACAAQEJAADAgIAEAABgQEACAAAwICABAAAY/D9Uj/fJFKdG4QAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psi.plot_state(probability_threshold=0.1)" ] }, { "cell_type": "code", "execution_count": null, "id": "dcd1cabd", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "79d60b85", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false }, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "## Final comments" ] }, { "cell_type": "markdown", "id": "08435d7e-32ba-48e3-b4f0-3e8974f7c738", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "Please note that `QuantumState`, while efficient, represents a full statevector simulation that is most efficient for states that can be efficiently described in the **computational basis** (efficiently meaning not too many basis states). For states that are not necessarily entangled, but require all computational basis states, e.g. the plus state on each qubit (act with Hadmard gate on each qubit). `QuantumState` will keep track a vector of size $2^{n}$. In such cases, alternative python libraries can describe these systems more efficiently if this becomes a bottleneck (e.g. qiskit circuit simulation tools). The goal of `QuantumState` is not to compete with these optimized libraries and has slightly different usage. In fact we find they can be used together, for example getting the statevector out of a qiskit statevector simulation and initalizing a `QuantumState` to perform analysis on." ] }, { "cell_type": "code", "execution_count": null, "id": "0bd7034a-b9c8-42a2-979f-b3fe9c832fbc", "metadata": { "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.18" } }, "nbformat": 4, "nbformat_minor": 5 }